module Graphics.GLU.Functions (
gluBeginCurve,
gluBeginPolygon,
gluBeginSurface,
gluBeginTrim,
gluBuild1DMipmapLevels,
gluBuild1DMipmaps,
gluBuild2DMipmapLevels,
gluBuild2DMipmaps,
gluBuild3DMipmapLevels,
gluBuild3DMipmaps,
gluCheckExtension,
gluCylinder,
gluDeleteNurbsRenderer,
gluDeleteQuadric,
gluDeleteTess,
gluDisk,
gluEndCurve,
gluEndPolygon,
gluEndSurface,
gluEndTrim,
gluErrorString,
gluGetNurbsProperty,
gluGetString,
gluGetTessProperty,
gluLoadSamplingMatrices,
gluLookAt,
gluNewNurbsRenderer,
gluNewQuadric,
gluNewTess,
gluNextContour,
gluNurbsCallback,
gluNurbsCallbackData,
gluNurbsCallbackDataEXT,
gluNurbsCurve,
gluNurbsProperty,
gluNurbsSurface,
gluOrtho2D,
gluPartialDisk,
gluPerspective,
gluPickMatrix,
gluProject,
gluPwlCurve,
gluQuadricCallback,
gluQuadricDrawStyle,
gluQuadricNormals,
gluQuadricOrientation,
gluQuadricTexture,
gluScaleImage,
gluSphere,
gluTessBeginContour,
gluTessBeginPolygon,
gluTessCallback,
gluTessEndContour,
gluTessEndPolygon,
gluTessNormal,
gluTessProperty,
gluTessVertex,
gluUnProject,
gluUnProject4,
) where
import Control.Monad.IO.Class ( MonadIO(..) )
import Foreign.C.String ( withCString, CString )
import Foreign.Marshal.Error ( throwIf )
import Foreign.Ptr ( Ptr, FunPtr, nullFunPtr )
import System.IO.Unsafe ( unsafePerformIO )
import Graphics.GLU.Types
import Graphics.GL.Types
getAPIEntry :: String -> IO (FunPtr a)
getAPIEntry extensionEntry =
throwIfNullFunPtr ("unknown GLU entry " ++ extensionEntry) $
withCString extensionEntry hs_GLU_getProcAddress
throwIfNullFunPtr :: String -> IO (FunPtr a) -> IO (FunPtr a)
throwIfNullFunPtr = throwIf (== nullFunPtr) . const
foreign import ccall unsafe "hs_GLU_getProcAddress"
hs_GLU_getProcAddress :: CString -> IO (FunPtr a)
gluBeginCurve :: MonadIO m => Ptr GLUnurbs -> m ()
gluBeginCurve v1 = liftIO $ dyn_gluBeginCurve ptr_gluBeginCurve v1
foreign import CALLCONV "dynamic" dyn_gluBeginCurve
:: FunPtr (Ptr GLUnurbs -> IO ())
-> Ptr GLUnurbs -> IO ()
ptr_gluBeginCurve :: FunPtr a
ptr_gluBeginCurve = unsafePerformIO $ getAPIEntry "gluBeginCurve"
gluBeginPolygon :: MonadIO m => Ptr GLUtesselator -> m ()
gluBeginPolygon v1 = liftIO $ dyn_gluBeginPolygon ptr_gluBeginPolygon v1
foreign import CALLCONV "dynamic" dyn_gluBeginPolygon
:: FunPtr (Ptr GLUtesselator -> IO ())
-> Ptr GLUtesselator -> IO ()
ptr_gluBeginPolygon :: FunPtr a
ptr_gluBeginPolygon = unsafePerformIO $ getAPIEntry "gluBeginPolygon"
gluBeginSurface :: MonadIO m => Ptr GLUnurbs -> m ()
gluBeginSurface v1 = liftIO $ dyn_gluBeginSurface ptr_gluBeginSurface v1
foreign import CALLCONV "dynamic" dyn_gluBeginSurface
:: FunPtr (Ptr GLUnurbs -> IO ())
-> Ptr GLUnurbs -> IO ()
ptr_gluBeginSurface :: FunPtr a
ptr_gluBeginSurface = unsafePerformIO $ getAPIEntry "gluBeginSurface"
gluBeginTrim :: MonadIO m => Ptr GLUnurbs -> m ()
gluBeginTrim v1 = liftIO $ dyn_gluBeginTrim ptr_gluBeginTrim v1
foreign import CALLCONV "dynamic" dyn_gluBeginTrim
:: FunPtr (Ptr GLUnurbs -> IO ())
-> Ptr GLUnurbs -> IO ()
ptr_gluBeginTrim :: FunPtr a
ptr_gluBeginTrim = unsafePerformIO $ getAPIEntry "gluBeginTrim"
gluBuild1DMipmapLevels :: MonadIO m => GLenum -> GLint -> GLsizei -> GLenum -> GLenum -> GLint -> GLint -> GLint -> Ptr a -> m GLint
gluBuild1DMipmapLevels v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn_gluBuild1DMipmapLevels ptr_gluBuild1DMipmapLevels v1 v2 v3 v4 v5 v6 v7 v8 v9
foreign import CALLCONV "dynamic" dyn_gluBuild1DMipmapLevels
:: FunPtr (GLenum -> GLint -> GLsizei -> GLenum -> GLenum -> GLint -> GLint -> GLint -> Ptr a -> IO GLint)
-> GLenum -> GLint -> GLsizei -> GLenum -> GLenum -> GLint -> GLint -> GLint -> Ptr a -> IO GLint
ptr_gluBuild1DMipmapLevels :: FunPtr a
ptr_gluBuild1DMipmapLevels = unsafePerformIO $ getAPIEntry "gluBuild1DMipmapLevels"
gluBuild1DMipmaps :: MonadIO m => GLenum -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> m GLint
gluBuild1DMipmaps v1 v2 v3 v4 v5 v6 = liftIO $ dyn_gluBuild1DMipmaps ptr_gluBuild1DMipmaps v1 v2 v3 v4 v5 v6
foreign import CALLCONV "dynamic" dyn_gluBuild1DMipmaps
:: FunPtr (GLenum -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO GLint)
-> GLenum -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO GLint
ptr_gluBuild1DMipmaps :: FunPtr a
ptr_gluBuild1DMipmaps = unsafePerformIO $ getAPIEntry "gluBuild1DMipmaps"
gluBuild2DMipmapLevels :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLint -> GLint -> GLint -> Ptr a -> m GLint
gluBuild2DMipmapLevels v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn_gluBuild2DMipmapLevels ptr_gluBuild2DMipmapLevels v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
foreign import CALLCONV "dynamic" dyn_gluBuild2DMipmapLevels
:: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLint -> GLint -> GLint -> Ptr a -> IO GLint)
-> GLenum -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLint -> GLint -> GLint -> Ptr a -> IO GLint
ptr_gluBuild2DMipmapLevels :: FunPtr a
ptr_gluBuild2DMipmapLevels = unsafePerformIO $ getAPIEntry "gluBuild2DMipmapLevels"
gluBuild2DMipmaps :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m GLint
gluBuild2DMipmaps v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn_gluBuild2DMipmaps ptr_gluBuild2DMipmaps v1 v2 v3 v4 v5 v6 v7
foreign import CALLCONV "dynamic" dyn_gluBuild2DMipmaps
:: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO GLint)
-> GLenum -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO GLint
ptr_gluBuild2DMipmaps :: FunPtr a
ptr_gluBuild2DMipmaps = unsafePerformIO $ getAPIEntry "gluBuild2DMipmaps"
gluBuild3DMipmapLevels :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLint -> GLint -> GLint -> Ptr a -> m GLint
gluBuild3DMipmapLevels v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11= liftIO $ dyn_gluBuild3DMipmapLevels ptr_gluBuild3DMipmapLevels v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
foreign import CALLCONV "dynamic" dyn_gluBuild3DMipmapLevels
:: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLint -> GLint -> GLint -> Ptr a -> IO GLint)
-> GLenum -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLint -> GLint -> GLint -> Ptr a -> IO GLint
ptr_gluBuild3DMipmapLevels :: FunPtr a
ptr_gluBuild3DMipmapLevels = unsafePerformIO $ getAPIEntry "gluBuild3DMipmapLevels"
gluBuild3DMipmaps :: MonadIO m => GLenum -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> m GLint
gluBuild3DMipmaps v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn_gluBuild3DMipmaps ptr_gluBuild3DMipmaps v1 v2 v3 v4 v5 v6 v7 v8
foreign import CALLCONV "dynamic" dyn_gluBuild3DMipmaps
:: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO GLint)
-> GLenum -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO GLint
ptr_gluBuild3DMipmaps :: FunPtr a
ptr_gluBuild3DMipmaps = unsafePerformIO $ getAPIEntry "gluBuild3DMipmaps"
gluCheckExtension :: MonadIO m => Ptr GLubyte -> Ptr GLubyte -> m GLboolean
gluCheckExtension v1 v2 = liftIO $ dyn_gluCheckExtension ptr_gluCheckExtension v1 v2
foreign import CALLCONV "dynamic" dyn_gluCheckExtension
:: FunPtr (Ptr GLubyte -> Ptr GLubyte -> IO GLboolean)
-> Ptr GLubyte -> Ptr GLubyte -> IO GLboolean
ptr_gluCheckExtension :: FunPtr a
ptr_gluCheckExtension = unsafePerformIO $ getAPIEntry "gluCheckExtension"
gluCylinder :: MonadIO m => Ptr GLUquadric -> GLdouble -> GLdouble -> GLdouble -> GLint -> GLint -> m ()
gluCylinder v1 v2 v3 v4 v5 v6 = liftIO $ dyn_gluCylinder ptr_gluCylinder v1 v2 v3 v4 v5 v6
foreign import CALLCONV "dynamic" dyn_gluCylinder
:: FunPtr (Ptr GLUquadric -> GLdouble -> GLdouble -> GLdouble -> GLint -> GLint -> IO ())
-> Ptr GLUquadric -> GLdouble -> GLdouble -> GLdouble -> GLint -> GLint -> IO ()
ptr_gluCylinder :: FunPtr a
ptr_gluCylinder = unsafePerformIO $ getAPIEntry "gluCylinder"
gluDeleteNurbsRenderer :: MonadIO m => Ptr GLUnurbs -> m ()
gluDeleteNurbsRenderer v1 = liftIO $ dyn_gluDeleteNurbsRenderer ptr_gluDeleteNurbsRenderer v1
foreign import CALLCONV "dynamic" dyn_gluDeleteNurbsRenderer
:: FunPtr (Ptr GLUnurbs -> IO ())
-> Ptr GLUnurbs -> IO ()
ptr_gluDeleteNurbsRenderer :: FunPtr a
ptr_gluDeleteNurbsRenderer = unsafePerformIO $ getAPIEntry "gluDeleteNurbsRenderer"
gluDeleteQuadric :: MonadIO m => Ptr GLUquadric -> m ()
gluDeleteQuadric v1 = liftIO $ dyn_gluDeleteQuadric ptr_gluDeleteQuadric v1
foreign import CALLCONV "dynamic" dyn_gluDeleteQuadric
:: FunPtr (Ptr GLUquadric -> IO ())
-> Ptr GLUquadric -> IO ()
ptr_gluDeleteQuadric :: FunPtr a
ptr_gluDeleteQuadric = unsafePerformIO $ getAPIEntry "gluDeleteQuadric"
gluDeleteTess :: MonadIO m => Ptr GLUtesselator -> m ()
gluDeleteTess v1 = liftIO $ dyn_gluDeleteTess ptr_gluDeleteTess v1
foreign import CALLCONV "dynamic" dyn_gluDeleteTess
:: FunPtr (Ptr GLUtesselator -> IO ())
-> Ptr GLUtesselator -> IO ()
ptr_gluDeleteTess :: FunPtr a
ptr_gluDeleteTess = unsafePerformIO $ getAPIEntry "gluDeleteTess"
gluDisk :: MonadIO m => Ptr GLUquadric -> GLdouble -> GLdouble -> GLint -> GLint -> m ()
gluDisk v1 v2 v3 v4 v5 = liftIO $ dyn_gluDisk ptr_gluDisk v1 v2 v3 v4 v5
foreign import CALLCONV "dynamic" dyn_gluDisk
:: FunPtr (Ptr GLUquadric -> GLdouble -> GLdouble -> GLint -> GLint -> IO ())
-> Ptr GLUquadric -> GLdouble -> GLdouble -> GLint -> GLint -> IO ()
ptr_gluDisk :: FunPtr a
ptr_gluDisk = unsafePerformIO $ getAPIEntry "gluDisk"
gluEndCurve :: MonadIO m => Ptr GLUnurbs -> m ()
gluEndCurve v1 = liftIO $ dyn_gluEndCurve ptr_gluEndCurve v1
foreign import CALLCONV "dynamic" dyn_gluEndCurve
:: FunPtr (Ptr GLUnurbs -> IO ())
-> Ptr GLUnurbs -> IO ()
ptr_gluEndCurve :: FunPtr a
ptr_gluEndCurve = unsafePerformIO $ getAPIEntry "gluEndCurve"
gluEndPolygon :: MonadIO m => Ptr GLUtesselator -> m ()
gluEndPolygon v1 = liftIO $ dyn_gluEndPolygon ptr_gluEndPolygon v1
foreign import CALLCONV "dynamic" dyn_gluEndPolygon
:: FunPtr (Ptr GLUtesselator -> IO ())
-> Ptr GLUtesselator -> IO ()
ptr_gluEndPolygon :: FunPtr a
ptr_gluEndPolygon = unsafePerformIO $ getAPIEntry "gluEndPolygon"
gluEndSurface :: MonadIO m => Ptr GLUnurbs -> m ()
gluEndSurface v1 = liftIO $ dyn_gluEndSurface ptr_gluEndSurface v1
foreign import CALLCONV "dynamic" dyn_gluEndSurface
:: FunPtr (Ptr GLUnurbs -> IO ())
-> Ptr GLUnurbs -> IO ()
ptr_gluEndSurface :: FunPtr a
ptr_gluEndSurface = unsafePerformIO $ getAPIEntry "gluEndSurface"
gluEndTrim :: MonadIO m => Ptr GLUnurbs -> m ()
gluEndTrim v1 = liftIO $ dyn_gluEndTrim ptr_gluEndTrim v1
foreign import CALLCONV "dynamic" dyn_gluEndTrim
:: FunPtr (Ptr GLUnurbs -> IO ())
-> Ptr GLUnurbs -> IO ()
ptr_gluEndTrim :: FunPtr a
ptr_gluEndTrim = unsafePerformIO $ getAPIEntry "gluEndTrim"
gluErrorString :: MonadIO m => GLenum -> m (Ptr GLubyte)
gluErrorString v1 = liftIO $ dyn_gluErrorString ptr_gluErrorString v1
foreign import CALLCONV "dynamic" dyn_gluErrorString
:: FunPtr (GLenum -> IO (Ptr GLubyte))
-> GLenum -> IO (Ptr GLubyte)
ptr_gluErrorString :: FunPtr a
ptr_gluErrorString = unsafePerformIO $ getAPIEntry "gluErrorString"
gluGetNurbsProperty :: MonadIO m => Ptr GLUnurbs -> GLenum -> Ptr GLfloat -> m ()
gluGetNurbsProperty v1 v2 v3 = liftIO $ dyn_gluGetNurbsProperty ptr_gluGetNurbsProperty v1 v2 v3
foreign import CALLCONV "dynamic" dyn_gluGetNurbsProperty
:: FunPtr (Ptr GLUnurbs -> GLenum -> Ptr GLfloat -> IO ())
-> Ptr GLUnurbs -> GLenum -> Ptr GLfloat -> IO ()
ptr_gluGetNurbsProperty :: FunPtr a
ptr_gluGetNurbsProperty = unsafePerformIO $ getAPIEntry "gluGetNurbsProperty"
gluGetString :: MonadIO m => GLenum -> m (Ptr GLubyte)
gluGetString v1 = liftIO $ dyn_gluGetString ptr_gluGetString v1
foreign import CALLCONV "dynamic" dyn_gluGetString
:: FunPtr (GLenum -> IO (Ptr GLubyte))
-> GLenum -> IO (Ptr GLubyte)
ptr_gluGetString :: FunPtr a
ptr_gluGetString = unsafePerformIO $ getAPIEntry "gluGetString"
gluGetTessProperty :: MonadIO m => Ptr GLUtesselator -> GLenum -> Ptr GLdouble -> m ()
gluGetTessProperty v1 v2 v3 = liftIO $ dyn_gluGetTessProperty ptr_gluGetTessProperty v1 v2 v3
foreign import CALLCONV "dynamic" dyn_gluGetTessProperty
:: FunPtr (Ptr GLUtesselator -> GLenum -> Ptr GLdouble -> IO ())
-> Ptr GLUtesselator -> GLenum -> Ptr GLdouble -> IO ()
ptr_gluGetTessProperty :: FunPtr a
ptr_gluGetTessProperty = unsafePerformIO $ getAPIEntry "gluGetTessProperty"
gluLoadSamplingMatrices :: MonadIO m => Ptr GLUnurbs -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLint -> m ()
gluLoadSamplingMatrices v1 v2 v3 v4 = liftIO $ dyn_gluLoadSamplingMatrices ptr_gluLoadSamplingMatrices v1 v2 v3 v4
foreign import CALLCONV "dynamic" dyn_gluLoadSamplingMatrices
:: FunPtr (Ptr GLUnurbs -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLint -> IO ())
-> Ptr GLUnurbs -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLint -> IO ()
ptr_gluLoadSamplingMatrices :: FunPtr a
ptr_gluLoadSamplingMatrices = unsafePerformIO $ getAPIEntry "gluLoadSamplingMatrices"
gluLookAt :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
gluLookAt v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn_gluLookAt ptr_gluLookAt v1 v2 v3 v4 v5 v6 v7 v8 v9
foreign import CALLCONV "dynamic" dyn_gluLookAt
:: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
ptr_gluLookAt :: FunPtr a
ptr_gluLookAt = unsafePerformIO $ getAPIEntry "gluLookAt"
gluNewNurbsRenderer :: MonadIO m => m (Ptr GLUnurbs)
gluNewNurbsRenderer = liftIO $ dyn_gluNewNurbsRenderer ptr_gluNewNurbsRenderer
foreign import CALLCONV "dynamic" dyn_gluNewNurbsRenderer
:: FunPtr (IO (Ptr GLUnurbs))
-> IO (Ptr GLUnurbs)
ptr_gluNewNurbsRenderer :: FunPtr a
ptr_gluNewNurbsRenderer = unsafePerformIO $ getAPIEntry "gluNewNurbsRenderer"
gluNewQuadric :: MonadIO m => m (Ptr GLUquadric)
gluNewQuadric = liftIO $ dyn_gluNewQuadric ptr_gluNewQuadric
foreign import CALLCONV "dynamic" dyn_gluNewQuadric
:: FunPtr (IO (Ptr GLUquadric))
-> IO (Ptr GLUquadric)
ptr_gluNewQuadric :: FunPtr a
ptr_gluNewQuadric = unsafePerformIO $ getAPIEntry "gluNewQuadric"
gluNewTess :: MonadIO m => m (Ptr GLUtesselator)
gluNewTess = liftIO $ dyn_gluNewTess ptr_gluNewTess
foreign import CALLCONV "dynamic" dyn_gluNewTess
:: FunPtr (IO (Ptr GLUtesselator))
-> IO (Ptr GLUtesselator)
ptr_gluNewTess :: FunPtr a
ptr_gluNewTess = unsafePerformIO $ getAPIEntry "gluNewTess"
gluNextContour :: MonadIO m => Ptr GLUtesselator -> GLenum -> m ()
gluNextContour v1 v2 = liftIO $ dyn_gluNextContour ptr_gluNextContour v1 v2
foreign import CALLCONV "dynamic" dyn_gluNextContour
:: FunPtr (Ptr GLUtesselator -> GLenum -> IO ())
-> Ptr GLUtesselator -> GLenum -> IO ()
ptr_gluNextContour :: FunPtr a
ptr_gluNextContour = unsafePerformIO $ getAPIEntry "gluNextContour"
gluNurbsCallback :: MonadIO m => Ptr GLUnurbs -> GLenum -> FunPtr a -> m ()
gluNurbsCallback v1 v2 v3 = liftIO $ dyn_gluNurbsCallback ptr_gluNurbsCallback v1 v2 v3
foreign import CALLCONV "dynamic" dyn_gluNurbsCallback
:: FunPtr (Ptr GLUnurbs -> GLenum -> FunPtr a -> IO ())
-> Ptr GLUnurbs -> GLenum -> FunPtr a -> IO ()
ptr_gluNurbsCallback :: FunPtr a
ptr_gluNurbsCallback = unsafePerformIO $ getAPIEntry "gluNurbsCallback"
gluNurbsCallbackData :: MonadIO m => Ptr GLUnurbs -> Ptr a -> m ()
gluNurbsCallbackData v1 v2 = liftIO $ dyn_gluNurbsCallbackData ptr_gluNurbsCallbackData v1 v2
foreign import CALLCONV "dynamic" dyn_gluNurbsCallbackData
:: FunPtr (Ptr GLUnurbs -> Ptr a -> IO ())
-> Ptr GLUnurbs -> Ptr a -> IO ()
ptr_gluNurbsCallbackData :: FunPtr a
ptr_gluNurbsCallbackData = unsafePerformIO $ getAPIEntry "gluNurbsCallbackData"
gluNurbsCallbackDataEXT :: MonadIO m => Ptr GLUnurbs -> Ptr a -> m ()
gluNurbsCallbackDataEXT v1 v2 = liftIO $ dyn_gluNurbsCallbackDataEXT ptr_gluNurbsCallbackDataEXT v1 v2
foreign import CALLCONV "dynamic" dyn_gluNurbsCallbackDataEXT
:: FunPtr (Ptr GLUnurbs -> Ptr a -> IO ())
-> Ptr GLUnurbs -> Ptr a -> IO ()
ptr_gluNurbsCallbackDataEXT :: FunPtr a
ptr_gluNurbsCallbackDataEXT = unsafePerformIO $ getAPIEntry "gluNurbsCallbackDataEXT"
gluNurbsCurve :: MonadIO m => Ptr GLUnurbs -> GLint -> Ptr GLfloat -> GLint -> Ptr GLfloat -> GLint -> GLenum -> m ()
gluNurbsCurve v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn_gluNurbsCurve ptr_gluNurbsCurve v1 v2 v3 v4 v5 v6 v7
foreign import CALLCONV "dynamic" dyn_gluNurbsCurve
:: FunPtr (Ptr GLUnurbs -> GLint -> Ptr GLfloat -> GLint -> Ptr GLfloat -> GLint -> GLenum -> IO ())
-> Ptr GLUnurbs -> GLint -> Ptr GLfloat -> GLint -> Ptr GLfloat -> GLint -> GLenum -> IO ()
ptr_gluNurbsCurve :: FunPtr a
ptr_gluNurbsCurve = unsafePerformIO $ getAPIEntry "gluNurbsCurve"
gluNurbsProperty :: MonadIO m => Ptr GLUnurbs -> GLenum -> GLfloat -> m ()
gluNurbsProperty v1 v2 v3 = liftIO $ dyn_gluNurbsProperty ptr_gluNurbsProperty v1 v2 v3
foreign import CALLCONV "dynamic" dyn_gluNurbsProperty
:: FunPtr (Ptr GLUnurbs -> GLenum -> GLfloat -> IO ())
-> Ptr GLUnurbs -> GLenum -> GLfloat -> IO ()
ptr_gluNurbsProperty :: FunPtr a
ptr_gluNurbsProperty = unsafePerformIO $ getAPIEntry "gluNurbsProperty"
gluNurbsSurface :: MonadIO m => Ptr GLUnurbs -> GLint -> Ptr GLfloat -> GLint -> Ptr GLfloat -> GLint -> GLint -> Ptr GLfloat -> GLint -> GLint -> GLenum -> m ()
gluNurbsSurface v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn_gluNurbsSurface ptr_gluNurbsSurface v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
foreign import CALLCONV "dynamic" dyn_gluNurbsSurface
:: FunPtr (Ptr GLUnurbs -> GLint -> Ptr GLfloat -> GLint -> Ptr GLfloat -> GLint -> GLint -> Ptr GLfloat -> GLint -> GLint -> GLenum -> IO ())
-> Ptr GLUnurbs -> GLint -> Ptr GLfloat -> GLint -> Ptr GLfloat -> GLint -> GLint -> Ptr GLfloat -> GLint -> GLint -> GLenum -> IO ()
ptr_gluNurbsSurface :: FunPtr a
ptr_gluNurbsSurface = unsafePerformIO $ getAPIEntry "gluNurbsSurface"
gluOrtho2D :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
gluOrtho2D v1 v2 v3 v4 = liftIO $ dyn_gluOrtho2D ptr_gluOrtho2D v1 v2 v3 v4
foreign import CALLCONV "dynamic" dyn_gluOrtho2D
:: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
ptr_gluOrtho2D :: FunPtr a
ptr_gluOrtho2D = unsafePerformIO $ getAPIEntry "gluOrtho2D"
gluPartialDisk :: MonadIO m => Ptr GLUquadric -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> m ()
gluPartialDisk v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn_gluPartialDisk ptr_gluPartialDisk v1 v2 v3 v4 v5 v6 v7
foreign import CALLCONV "dynamic" dyn_gluPartialDisk
:: FunPtr (Ptr GLUquadric -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> IO ())
-> Ptr GLUquadric -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> IO ()
ptr_gluPartialDisk :: FunPtr a
ptr_gluPartialDisk = unsafePerformIO $ getAPIEntry "gluPartialDisk"
gluPerspective :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
gluPerspective v1 v2 v3 v4 = liftIO $ dyn_gluPerspective ptr_gluPerspective v1 v2 v3 v4
foreign import CALLCONV "dynamic" dyn_gluPerspective
:: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
ptr_gluPerspective :: FunPtr a
ptr_gluPerspective = unsafePerformIO $ getAPIEntry "gluPerspective"
gluPickMatrix :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> Ptr GLint -> m ()
gluPickMatrix v1 v2 v3 v4 v5 = liftIO $ dyn_gluPickMatrix ptr_gluPickMatrix v1 v2 v3 v4 v5
foreign import CALLCONV "dynamic" dyn_gluPickMatrix
:: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> Ptr GLint -> IO ())
-> GLdouble -> GLdouble -> GLdouble -> GLdouble -> Ptr GLint -> IO ()
ptr_gluPickMatrix :: FunPtr a
ptr_gluPickMatrix = unsafePerformIO $ getAPIEntry "gluPickMatrix"
gluProject :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLint -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> m GLint
gluProject v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn_gluProject ptr_gluProject v1 v2 v3 v4 v5 v6 v7 v8 v9
foreign import CALLCONV "dynamic" dyn_gluProject
:: FunPtr (GLdouble -> GLdouble -> GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLint -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> IO GLint)
-> GLdouble -> GLdouble -> GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLint -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> IO GLint
ptr_gluProject :: FunPtr a
ptr_gluProject = unsafePerformIO $ getAPIEntry "gluProject"
gluPwlCurve :: MonadIO m => Ptr GLUnurbs -> GLint -> Ptr GLfloat -> GLint -> GLenum -> m ()
gluPwlCurve v1 v2 v3 v4 v5 = liftIO $ dyn_gluPwlCurve ptr_gluPwlCurve v1 v2 v3 v4 v5
foreign import CALLCONV "dynamic" dyn_gluPwlCurve
:: FunPtr (Ptr GLUnurbs -> GLint -> Ptr GLfloat -> GLint -> GLenum -> IO ())
-> Ptr GLUnurbs -> GLint -> Ptr GLfloat -> GLint -> GLenum -> IO ()
ptr_gluPwlCurve :: FunPtr a
ptr_gluPwlCurve = unsafePerformIO $ getAPIEntry "gluPwlCurve"
gluQuadricCallback :: MonadIO m => Ptr GLUquadric -> GLenum -> FunPtr a -> m ()
gluQuadricCallback v1 v2 v3 = liftIO $ dyn_gluQuadricCallback ptr_gluQuadricCallback v1 v2 v3
foreign import CALLCONV "dynamic" dyn_gluQuadricCallback
:: FunPtr (Ptr GLUquadric -> GLenum -> FunPtr a -> IO ())
-> Ptr GLUquadric -> GLenum -> FunPtr a -> IO ()
ptr_gluQuadricCallback :: FunPtr a
ptr_gluQuadricCallback = unsafePerformIO $ getAPIEntry "gluQuadricCallback"
gluQuadricDrawStyle :: MonadIO m => Ptr GLUquadric -> GLenum -> m ()
gluQuadricDrawStyle v1 v2 = liftIO $ dyn_gluQuadricDrawStyle ptr_gluQuadricDrawStyle v1 v2
foreign import CALLCONV "dynamic" dyn_gluQuadricDrawStyle
:: FunPtr (Ptr GLUquadric -> GLenum -> IO ())
-> Ptr GLUquadric -> GLenum -> IO ()
ptr_gluQuadricDrawStyle :: FunPtr a
ptr_gluQuadricDrawStyle = unsafePerformIO $ getAPIEntry "gluQuadricDrawStyle"
gluQuadricNormals :: MonadIO m => Ptr GLUquadric -> GLenum -> m ()
gluQuadricNormals v1 v2 = liftIO $ dyn_gluQuadricNormals ptr_gluQuadricNormals v1 v2
foreign import CALLCONV "dynamic" dyn_gluQuadricNormals
:: FunPtr (Ptr GLUquadric -> GLenum -> IO ())
-> Ptr GLUquadric -> GLenum -> IO ()
ptr_gluQuadricNormals :: FunPtr a
ptr_gluQuadricNormals = unsafePerformIO $ getAPIEntry "gluQuadricNormals"
gluQuadricOrientation :: MonadIO m => Ptr GLUquadric -> GLenum -> m ()
gluQuadricOrientation v1 v2 = liftIO $ dyn_gluQuadricOrientation ptr_gluQuadricOrientation v1 v2
foreign import CALLCONV "dynamic" dyn_gluQuadricOrientation
:: FunPtr (Ptr GLUquadric -> GLenum -> IO ())
-> Ptr GLUquadric -> GLenum -> IO ()
ptr_gluQuadricOrientation :: FunPtr a
ptr_gluQuadricOrientation = unsafePerformIO $ getAPIEntry "gluQuadricOrientation"
gluQuadricTexture :: MonadIO m => Ptr GLUquadric -> GLboolean -> m ()
gluQuadricTexture v1 v2 = liftIO $ dyn_gluQuadricTexture ptr_gluQuadricTexture v1 v2
foreign import CALLCONV "dynamic" dyn_gluQuadricTexture
:: FunPtr (Ptr GLUquadric -> GLboolean -> IO ())
-> Ptr GLUquadric -> GLboolean -> IO ()
ptr_gluQuadricTexture :: FunPtr a
ptr_gluQuadricTexture = unsafePerformIO $ getAPIEntry "gluQuadricTexture"
gluScaleImage :: MonadIO m => GLenum -> GLsizei -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLenum -> Ptr b -> m GLint
gluScaleImage v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn_gluScaleImage ptr_gluScaleImage v1 v2 v3 v4 v5 v6 v7 v8 v9
foreign import CALLCONV "dynamic" dyn_gluScaleImage
:: FunPtr (GLenum -> GLsizei -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLenum -> Ptr b -> IO GLint)
-> GLenum -> GLsizei -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLenum -> Ptr b -> IO GLint
ptr_gluScaleImage :: FunPtr a
ptr_gluScaleImage = unsafePerformIO $ getAPIEntry "gluScaleImage"
gluSphere :: MonadIO m => Ptr GLUquadric -> GLdouble -> GLint -> GLint -> m ()
gluSphere v1 v2 v3 v4 = liftIO $ dyn_gluSphere ptr_gluSphere v1 v2 v3 v4
foreign import CALLCONV "dynamic" dyn_gluSphere
:: FunPtr (Ptr GLUquadric -> GLdouble -> GLint -> GLint -> IO ())
-> Ptr GLUquadric -> GLdouble -> GLint -> GLint -> IO ()
ptr_gluSphere :: FunPtr a
ptr_gluSphere = unsafePerformIO $ getAPIEntry "gluSphere"
gluTessBeginContour :: MonadIO m => Ptr GLUtesselator -> m ()
gluTessBeginContour v1 = liftIO $ dyn_gluTessBeginContour ptr_gluTessBeginContour v1
foreign import CALLCONV "dynamic" dyn_gluTessBeginContour
:: FunPtr (Ptr GLUtesselator -> IO ())
-> Ptr GLUtesselator -> IO ()
ptr_gluTessBeginContour :: FunPtr a
ptr_gluTessBeginContour = unsafePerformIO $ getAPIEntry "gluTessBeginContour"
gluTessBeginPolygon :: MonadIO m => Ptr GLUtesselator -> Ptr a -> m ()
gluTessBeginPolygon v1 v2 = liftIO $ dyn_gluTessBeginPolygon ptr_gluTessBeginPolygon v1 v2
foreign import CALLCONV "dynamic" dyn_gluTessBeginPolygon
:: FunPtr (Ptr GLUtesselator -> Ptr a -> IO ())
-> Ptr GLUtesselator -> Ptr a -> IO ()
ptr_gluTessBeginPolygon :: FunPtr a
ptr_gluTessBeginPolygon = unsafePerformIO $ getAPIEntry "gluTessBeginPolygon"
gluTessCallback :: MonadIO m => Ptr GLUtesselator -> GLenum -> FunPtr a -> m ()
gluTessCallback v1 v2 v3 = liftIO $ dyn_gluTessCallback ptr_gluTessCallback v1 v2 v3
foreign import CALLCONV "dynamic" dyn_gluTessCallback
:: FunPtr (Ptr GLUtesselator -> GLenum -> FunPtr a -> IO ())
-> Ptr GLUtesselator -> GLenum -> FunPtr a -> IO ()
ptr_gluTessCallback :: FunPtr a
ptr_gluTessCallback = unsafePerformIO $ getAPIEntry "gluTessCallback"
gluTessEndContour :: MonadIO m => Ptr GLUtesselator -> m ()
gluTessEndContour v1 = liftIO $ dyn_gluTessEndContour ptr_gluTessEndContour v1
foreign import CALLCONV "dynamic" dyn_gluTessEndContour
:: FunPtr (Ptr GLUtesselator -> IO ())
-> Ptr GLUtesselator -> IO ()
ptr_gluTessEndContour :: FunPtr a
ptr_gluTessEndContour = unsafePerformIO $ getAPIEntry "gluTessEndContour"
gluTessEndPolygon :: MonadIO m => Ptr GLUtesselator -> m ()
gluTessEndPolygon v1 = liftIO $ dyn_gluTessEndPolygon ptr_gluTessEndPolygon v1
foreign import CALLCONV "dynamic" dyn_gluTessEndPolygon
:: FunPtr (Ptr GLUtesselator -> IO ())
-> Ptr GLUtesselator -> IO ()
ptr_gluTessEndPolygon :: FunPtr a
ptr_gluTessEndPolygon = unsafePerformIO $ getAPIEntry "gluTessEndPolygon"
gluTessNormal :: MonadIO m => Ptr GLUtesselator -> GLdouble -> GLdouble -> GLdouble -> m ()
gluTessNormal v1 v2 v3 v4 = liftIO $ dyn_gluTessNormal ptr_gluTessNormal v1 v2 v3 v4
foreign import CALLCONV "dynamic" dyn_gluTessNormal
:: FunPtr (Ptr GLUtesselator -> GLdouble -> GLdouble -> GLdouble -> IO ())
-> Ptr GLUtesselator -> GLdouble -> GLdouble -> GLdouble -> IO ()
ptr_gluTessNormal :: FunPtr a
ptr_gluTessNormal = unsafePerformIO $ getAPIEntry "gluTessNormal"
gluTessProperty :: MonadIO m => Ptr GLUtesselator -> GLenum -> GLdouble -> m ()
gluTessProperty v1 v2 v3 = liftIO $ dyn_gluTessProperty ptr_gluTessProperty v1 v2 v3
foreign import CALLCONV "dynamic" dyn_gluTessProperty
:: FunPtr (Ptr GLUtesselator -> GLenum -> GLdouble -> IO ())
-> Ptr GLUtesselator -> GLenum -> GLdouble -> IO ()
ptr_gluTessProperty :: FunPtr a
ptr_gluTessProperty = unsafePerformIO $ getAPIEntry "gluTessProperty"
gluTessVertex :: MonadIO m => Ptr GLUtesselator -> Ptr GLdouble -> Ptr a -> m ()
gluTessVertex v1 v2 v3 = liftIO $ dyn_gluTessVertex ptr_gluTessVertex v1 v2 v3
foreign import CALLCONV "dynamic" dyn_gluTessVertex
:: FunPtr (Ptr GLUtesselator -> Ptr GLdouble -> Ptr a -> IO ())
-> Ptr GLUtesselator -> Ptr GLdouble -> Ptr a -> IO ()
ptr_gluTessVertex :: FunPtr a
ptr_gluTessVertex = unsafePerformIO $ getAPIEntry "gluTessVertex"
gluUnProject :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLint -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> m GLint
gluUnProject v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn_gluUnProject ptr_gluUnProject v1 v2 v3 v4 v5 v6 v7 v8 v9
foreign import CALLCONV "dynamic" dyn_gluUnProject
:: FunPtr (GLdouble -> GLdouble -> GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLint -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> IO GLint)
-> GLdouble -> GLdouble -> GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLint -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> IO GLint
ptr_gluUnProject :: FunPtr a
ptr_gluUnProject = unsafePerformIO $ getAPIEntry "gluUnProject"
gluUnProject4 :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLint -> GLclampd -> GLclampd -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> m GLint
gluUnProject4 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 = liftIO $ dyn_gluUnProject4 ptr_gluUnProject4 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13
foreign import CALLCONV "dynamic" dyn_gluUnProject4
:: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLint -> GLclampd -> GLclampd -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> IO GLint)
-> GLdouble -> GLdouble -> GLdouble -> GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLint -> GLclampd -> GLclampd -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> IO GLint
ptr_gluUnProject4 :: FunPtr a
ptr_gluUnProject4 = unsafePerformIO $ getAPIEntry "gluUnProject4"