module Graphics.Rendering.OpenGL.GLU.Initialization (
gluVersion, gluExtensions
) where
import Foreign.C.String
import Foreign.Ptr
import Graphics.Rendering.GLU.Raw
import Graphics.Rendering.OpenGL.GL.QueryUtils
import Graphics.Rendering.OpenGL.GL.StateVar
import Graphics.Rendering.OpenGL.Raw
gluVersion :: GettableStateVar String
gluVersion = makeGettableStateVar (getString glu_VERSION)
gluExtensions :: GettableStateVar [String]
gluExtensions = makeGettableStateVar (fmap words $ getString glu_EXTENSIONS)
getString :: GLenum -> IO String
getString n = gluGetString n >>=
maybeNullPtr (return "") (peekCString . castPtr)