-- This file was automatically generated. {-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-} module Graphics.GL.Ext.EXT.CoordinateFrame ( -- * Extension Support gl_EXT_coordinate_frame -- * GL_EXT_coordinate_frame , glBinormal3bEXT , glBinormal3bvEXT , glBinormal3dEXT , glBinormal3dvEXT , glBinormal3fEXT , glBinormal3fvEXT , glBinormal3iEXT , glBinormal3ivEXT , glBinormal3sEXT , glBinormal3svEXT , glBinormalPointerEXT , glTangent3bEXT , glTangent3bvEXT , glTangent3dEXT , glTangent3dvEXT , glTangent3fEXT , glTangent3fvEXT , glTangent3iEXT , glTangent3ivEXT , glTangent3sEXT , glTangent3svEXT , glTangentPointerEXT , pattern GL_BINORMAL_ARRAY_EXT , pattern GL_BINORMAL_ARRAY_POINTER_EXT , pattern GL_BINORMAL_ARRAY_STRIDE_EXT , pattern GL_BINORMAL_ARRAY_TYPE_EXT , pattern GL_CURRENT_BINORMAL_EXT , pattern GL_CURRENT_TANGENT_EXT , pattern GL_MAP1_BINORMAL_EXT , pattern GL_MAP1_TANGENT_EXT , pattern GL_MAP2_BINORMAL_EXT , pattern GL_MAP2_TANGENT_EXT , pattern GL_TANGENT_ARRAY_EXT , pattern GL_TANGENT_ARRAY_POINTER_EXT , pattern GL_TANGENT_ARRAY_STRIDE_EXT , pattern GL_TANGENT_ARRAY_TYPE_EXT ) where import Control.Monad.IO.Class import Data.Set import Foreign.Ptr import Graphics.GL.Internal.FFI import Graphics.GL.Internal.Proc import Graphics.GL.Types import System.IO.Unsafe -- | Checks that the extension is available. gl_EXT_coordinate_frame :: Bool gl_EXT_coordinate_frame = member "GL_EXT_coordinate_frame" extensions {-# NOINLINE gl_EXT_coordinate_frame #-} -- | Usage: @'glBinormal3bEXT' bx by bz@ -- -- The vector equivalent of this command is 'Graphics.GL.Ext.EXT.CoordinateFrame.glBinormal3bvEXT'. glBinormal3bEXT :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m () glBinormal3bEXT = ffibytebytebyteIOV glBinormal3bEXTFunPtr glBinormal3bEXTFunPtr :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ()) glBinormal3bEXTFunPtr = unsafePerformIO (getProcAddress "glBinormal3bEXT") {-# NOINLINE glBinormal3bEXTFunPtr #-} -- | Usage: @'glBinormal3bvEXT' v@ -- -- The length of @v@ should be @3@. glBinormal3bvEXT :: MonadIO m => Ptr GLbyte -> m () glBinormal3bvEXT = ffiPtrbyteIOV glBinormal3bvEXTFunPtr glBinormal3bvEXTFunPtr :: FunPtr (Ptr GLbyte -> IO ()) glBinormal3bvEXTFunPtr = unsafePerformIO (getProcAddress "glBinormal3bvEXT") {-# NOINLINE glBinormal3bvEXTFunPtr #-} -- | Usage: @'glBinormal3dEXT' bx by bz@ -- -- The parameter @bx@ is a @CoordD@. -- -- The parameter @by@ is a @CoordD@. -- -- The parameter @bz@ is a @CoordD@. -- -- The vector equivalent of this command is 'Graphics.GL.Ext.EXT.CoordinateFrame.glBinormal3dvEXT'. glBinormal3dEXT :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m () glBinormal3dEXT = ffidoubledoubledoubleIOV glBinormal3dEXTFunPtr glBinormal3dEXTFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()) glBinormal3dEXTFunPtr = unsafePerformIO (getProcAddress "glBinormal3dEXT") {-# NOINLINE glBinormal3dEXTFunPtr #-} -- | Usage: @'glBinormal3dvEXT' v@ -- -- The parameter @v@ is a @CoordD@. -- -- The length of @v@ should be @3@. glBinormal3dvEXT :: MonadIO m => Ptr GLdouble -> m () glBinormal3dvEXT = ffiPtrdoubleIOV glBinormal3dvEXTFunPtr glBinormal3dvEXTFunPtr :: FunPtr (Ptr GLdouble -> IO ()) glBinormal3dvEXTFunPtr = unsafePerformIO (getProcAddress "glBinormal3dvEXT") {-# NOINLINE glBinormal3dvEXTFunPtr #-} -- | Usage: @'glBinormal3fEXT' bx by bz@ -- -- The parameter @bx@ is a @CoordF@. -- -- The parameter @by@ is a @CoordF@. -- -- The parameter @bz@ is a @CoordF@. -- -- The vector equivalent of this command is 'Graphics.GL.Ext.EXT.CoordinateFrame.glBinormal3fvEXT'. glBinormal3fEXT :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m () glBinormal3fEXT = ffifloatfloatfloatIOV glBinormal3fEXTFunPtr glBinormal3fEXTFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()) glBinormal3fEXTFunPtr = unsafePerformIO (getProcAddress "glBinormal3fEXT") {-# NOINLINE glBinormal3fEXTFunPtr #-} -- | Usage: @'glBinormal3fvEXT' v@ -- -- The parameter @v@ is a @CoordF@. -- -- The length of @v@ should be @3@. glBinormal3fvEXT :: MonadIO m => Ptr GLfloat -> m () glBinormal3fvEXT = ffiPtrfloatIOV glBinormal3fvEXTFunPtr glBinormal3fvEXTFunPtr :: FunPtr (Ptr GLfloat -> IO ()) glBinormal3fvEXTFunPtr = unsafePerformIO (getProcAddress "glBinormal3fvEXT") {-# NOINLINE glBinormal3fvEXTFunPtr #-} -- | Usage: @'glBinormal3iEXT' bx by bz@ -- -- The vector equivalent of this command is 'Graphics.GL.Ext.EXT.CoordinateFrame.glBinormal3ivEXT'. glBinormal3iEXT :: MonadIO m => GLint -> GLint -> GLint -> m () glBinormal3iEXT = ffiintintintIOV glBinormal3iEXTFunPtr glBinormal3iEXTFunPtr :: FunPtr (GLint -> GLint -> GLint -> IO ()) glBinormal3iEXTFunPtr = unsafePerformIO (getProcAddress "glBinormal3iEXT") {-# NOINLINE glBinormal3iEXTFunPtr #-} -- | Usage: @'glBinormal3ivEXT' v@ -- -- The length of @v@ should be @3@. glBinormal3ivEXT :: MonadIO m => Ptr GLint -> m () glBinormal3ivEXT = ffiPtrintIOV glBinormal3ivEXTFunPtr glBinormal3ivEXTFunPtr :: FunPtr (Ptr GLint -> IO ()) glBinormal3ivEXTFunPtr = unsafePerformIO (getProcAddress "glBinormal3ivEXT") {-# NOINLINE glBinormal3ivEXTFunPtr #-} -- | Usage: @'glBinormal3sEXT' bx by bz@ -- -- The vector equivalent of this command is 'Graphics.GL.Ext.EXT.CoordinateFrame.glBinormal3svEXT'. glBinormal3sEXT :: MonadIO m => GLshort -> GLshort -> GLshort -> m () glBinormal3sEXT = ffishortshortshortIOV glBinormal3sEXTFunPtr glBinormal3sEXTFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> IO ()) glBinormal3sEXTFunPtr = unsafePerformIO (getProcAddress "glBinormal3sEXT") {-# NOINLINE glBinormal3sEXTFunPtr #-} -- | Usage: @'glBinormal3svEXT' v@ -- -- The length of @v@ should be @3@. glBinormal3svEXT :: MonadIO m => Ptr GLshort -> m () glBinormal3svEXT = ffiPtrshortIOV glBinormal3svEXTFunPtr glBinormal3svEXTFunPtr :: FunPtr (Ptr GLshort -> IO ()) glBinormal3svEXTFunPtr = unsafePerformIO (getProcAddress "glBinormal3svEXT") {-# NOINLINE glBinormal3svEXTFunPtr #-} -- | Usage: @'glBinormalPointerEXT' type stride pointer@ -- -- The parameter @type@ is a @BinormalPointerTypeEXT@. -- -- The length of @pointer@ should be @COMPSIZE(type,stride)@. glBinormalPointerEXT :: MonadIO m => GLenum -> GLsizei -> Ptr () -> m () glBinormalPointerEXT = ffienumsizeiPtrVIOV glBinormalPointerEXTFunPtr glBinormalPointerEXTFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr () -> IO ()) glBinormalPointerEXTFunPtr = unsafePerformIO (getProcAddress "glBinormalPointerEXT") {-# NOINLINE glBinormalPointerEXTFunPtr #-} -- | Usage: @'glTangent3bEXT' tx ty tz@ -- -- The vector equivalent of this command is 'Graphics.GL.Ext.EXT.CoordinateFrame.glTangent3bvEXT'. glTangent3bEXT :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m () glTangent3bEXT = ffibytebytebyteIOV glTangent3bEXTFunPtr glTangent3bEXTFunPtr :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ()) glTangent3bEXTFunPtr = unsafePerformIO (getProcAddress "glTangent3bEXT") {-# NOINLINE glTangent3bEXTFunPtr #-} -- | Usage: @'glTangent3bvEXT' v@ -- -- The length of @v@ should be @3@. glTangent3bvEXT :: MonadIO m => Ptr GLbyte -> m () glTangent3bvEXT = ffiPtrbyteIOV glTangent3bvEXTFunPtr glTangent3bvEXTFunPtr :: FunPtr (Ptr GLbyte -> IO ()) glTangent3bvEXTFunPtr = unsafePerformIO (getProcAddress "glTangent3bvEXT") {-# NOINLINE glTangent3bvEXTFunPtr #-} -- | Usage: @'glTangent3dEXT' tx ty tz@ -- -- The parameter @tx@ is a @CoordD@. -- -- The parameter @ty@ is a @CoordD@. -- -- The parameter @tz@ is a @CoordD@. -- -- The vector equivalent of this command is 'Graphics.GL.Ext.EXT.CoordinateFrame.glTangent3dvEXT'. glTangent3dEXT :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m () glTangent3dEXT = ffidoubledoubledoubleIOV glTangent3dEXTFunPtr glTangent3dEXTFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ()) glTangent3dEXTFunPtr = unsafePerformIO (getProcAddress "glTangent3dEXT") {-# NOINLINE glTangent3dEXTFunPtr #-} -- | Usage: @'glTangent3dvEXT' v@ -- -- The parameter @v@ is a @CoordD@. -- -- The length of @v@ should be @3@. glTangent3dvEXT :: MonadIO m => Ptr GLdouble -> m () glTangent3dvEXT = ffiPtrdoubleIOV glTangent3dvEXTFunPtr glTangent3dvEXTFunPtr :: FunPtr (Ptr GLdouble -> IO ()) glTangent3dvEXTFunPtr = unsafePerformIO (getProcAddress "glTangent3dvEXT") {-# NOINLINE glTangent3dvEXTFunPtr #-} -- | Usage: @'glTangent3fEXT' tx ty tz@ -- -- The parameter @tx@ is a @CoordF@. -- -- The parameter @ty@ is a @CoordF@. -- -- The parameter @tz@ is a @CoordF@. -- -- The vector equivalent of this command is 'Graphics.GL.Ext.EXT.CoordinateFrame.glTangent3fvEXT'. glTangent3fEXT :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m () glTangent3fEXT = ffifloatfloatfloatIOV glTangent3fEXTFunPtr glTangent3fEXTFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ()) glTangent3fEXTFunPtr = unsafePerformIO (getProcAddress "glTangent3fEXT") {-# NOINLINE glTangent3fEXTFunPtr #-} -- | Usage: @'glTangent3fvEXT' v@ -- -- The parameter @v@ is a @CoordF@. -- -- The length of @v@ should be @3@. glTangent3fvEXT :: MonadIO m => Ptr GLfloat -> m () glTangent3fvEXT = ffiPtrfloatIOV glTangent3fvEXTFunPtr glTangent3fvEXTFunPtr :: FunPtr (Ptr GLfloat -> IO ()) glTangent3fvEXTFunPtr = unsafePerformIO (getProcAddress "glTangent3fvEXT") {-# NOINLINE glTangent3fvEXTFunPtr #-} -- | Usage: @'glTangent3iEXT' tx ty tz@ -- -- The vector equivalent of this command is 'Graphics.GL.Ext.EXT.CoordinateFrame.glTangent3ivEXT'. glTangent3iEXT :: MonadIO m => GLint -> GLint -> GLint -> m () glTangent3iEXT = ffiintintintIOV glTangent3iEXTFunPtr glTangent3iEXTFunPtr :: FunPtr (GLint -> GLint -> GLint -> IO ()) glTangent3iEXTFunPtr = unsafePerformIO (getProcAddress "glTangent3iEXT") {-# NOINLINE glTangent3iEXTFunPtr #-} -- | Usage: @'glTangent3ivEXT' v@ -- -- The length of @v@ should be @3@. glTangent3ivEXT :: MonadIO m => Ptr GLint -> m () glTangent3ivEXT = ffiPtrintIOV glTangent3ivEXTFunPtr glTangent3ivEXTFunPtr :: FunPtr (Ptr GLint -> IO ()) glTangent3ivEXTFunPtr = unsafePerformIO (getProcAddress "glTangent3ivEXT") {-# NOINLINE glTangent3ivEXTFunPtr #-} -- | Usage: @'glTangent3sEXT' tx ty tz@ -- -- The vector equivalent of this command is 'Graphics.GL.Ext.EXT.CoordinateFrame.glTangent3svEXT'. glTangent3sEXT :: MonadIO m => GLshort -> GLshort -> GLshort -> m () glTangent3sEXT = ffishortshortshortIOV glTangent3sEXTFunPtr glTangent3sEXTFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> IO ()) glTangent3sEXTFunPtr = unsafePerformIO (getProcAddress "glTangent3sEXT") {-# NOINLINE glTangent3sEXTFunPtr #-} -- | Usage: @'glTangent3svEXT' v@ -- -- The length of @v@ should be @3@. glTangent3svEXT :: MonadIO m => Ptr GLshort -> m () glTangent3svEXT = ffiPtrshortIOV glTangent3svEXTFunPtr glTangent3svEXTFunPtr :: FunPtr (Ptr GLshort -> IO ()) glTangent3svEXTFunPtr = unsafePerformIO (getProcAddress "glTangent3svEXT") {-# NOINLINE glTangent3svEXTFunPtr #-} -- | Usage: @'glTangentPointerEXT' type stride pointer@ -- -- The parameter @type@ is a @TangentPointerTypeEXT@. -- -- The length of @pointer@ should be @COMPSIZE(type,stride)@. glTangentPointerEXT :: MonadIO m => GLenum -> GLsizei -> Ptr () -> m () glTangentPointerEXT = ffienumsizeiPtrVIOV glTangentPointerEXTFunPtr glTangentPointerEXTFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr () -> IO ()) glTangentPointerEXTFunPtr = unsafePerformIO (getProcAddress "glTangentPointerEXT") {-# NOINLINE glTangentPointerEXTFunPtr #-} pattern GL_BINORMAL_ARRAY_EXT = 0x843A pattern GL_BINORMAL_ARRAY_POINTER_EXT = 0x8443 pattern GL_BINORMAL_ARRAY_STRIDE_EXT = 0x8441 pattern GL_BINORMAL_ARRAY_TYPE_EXT = 0x8440 pattern GL_CURRENT_BINORMAL_EXT = 0x843C pattern GL_CURRENT_TANGENT_EXT = 0x843B pattern GL_MAP1_BINORMAL_EXT = 0x8446 pattern GL_MAP1_TANGENT_EXT = 0x8444 pattern GL_MAP2_BINORMAL_EXT = 0x8447 pattern GL_MAP2_TANGENT_EXT = 0x8445 pattern GL_TANGENT_ARRAY_EXT = 0x8439 pattern GL_TANGENT_ARRAY_POINTER_EXT = 0x8442 pattern GL_TANGENT_ARRAY_STRIDE_EXT = 0x843F pattern GL_TANGENT_ARRAY_TYPE_EXT = 0x843E