Adding GL specific interfaces would simply pollute GLMax2D in the same way as adding DX specific public functions to DXMax2D. IMHO it is just as simple, more optimal and allows more flexibility for people banging GL directly to learn to restore it's state when sharing with GLMax2D.