-- This file was automatically generated.
{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Raw.Extension.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.Raw.Internal.FFI
import Graphics.GL.Raw.Internal.Proc
import Graphics.GL.Raw.Types
import System.IO.Unsafe

gl_EXT_coordinate_frame :: Bool
gl_EXT_coordinate_frame = member "GL_EXT_coordinate_frame" extensions

glBinormal3bEXT :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()
glBinormal3bEXT = ffibytebytebyteIOV glBinormal3bEXTFunPtr

glBinormal3bEXTFunPtr :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
glBinormal3bEXTFunPtr = unsafePerformIO (getProcAddress "glBinormal3bEXT")

{-# NOINLINE glBinormal3bEXTFunPtr #-}

glBinormal3bvEXT :: MonadIO m => Ptr GLbyte -> m ()
glBinormal3bvEXT = ffiPtrbyteIOV glBinormal3bvEXTFunPtr

glBinormal3bvEXTFunPtr :: FunPtr (Ptr GLbyte -> IO ())
glBinormal3bvEXTFunPtr = unsafePerformIO (getProcAddress "glBinormal3bvEXT")

{-# NOINLINE glBinormal3bvEXTFunPtr #-}

glBinormal3dEXT :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()
glBinormal3dEXT = ffidoubledoubledoubleIOV glBinormal3dEXTFunPtr

glBinormal3dEXTFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glBinormal3dEXTFunPtr = unsafePerformIO (getProcAddress "glBinormal3dEXT")

{-# NOINLINE glBinormal3dEXTFunPtr #-}

glBinormal3dvEXT :: MonadIO m => Ptr GLdouble -> m ()
glBinormal3dvEXT = ffiPtrdoubleIOV glBinormal3dvEXTFunPtr

glBinormal3dvEXTFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glBinormal3dvEXTFunPtr = unsafePerformIO (getProcAddress "glBinormal3dvEXT")

{-# NOINLINE glBinormal3dvEXTFunPtr #-}

glBinormal3fEXT :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glBinormal3fEXT = ffifloatfloatfloatIOV glBinormal3fEXTFunPtr

glBinormal3fEXTFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glBinormal3fEXTFunPtr = unsafePerformIO (getProcAddress "glBinormal3fEXT")

{-# NOINLINE glBinormal3fEXTFunPtr #-}

glBinormal3fvEXT :: MonadIO m => Ptr GLfloat -> m ()
glBinormal3fvEXT = ffiPtrfloatIOV glBinormal3fvEXTFunPtr

glBinormal3fvEXTFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glBinormal3fvEXTFunPtr = unsafePerformIO (getProcAddress "glBinormal3fvEXT")

{-# NOINLINE glBinormal3fvEXTFunPtr #-}

glBinormal3iEXT :: MonadIO m => GLint -> GLint -> GLint -> m ()
glBinormal3iEXT = ffiintintintIOV glBinormal3iEXTFunPtr

glBinormal3iEXTFunPtr :: FunPtr (GLint -> GLint -> GLint -> IO ())
glBinormal3iEXTFunPtr = unsafePerformIO (getProcAddress "glBinormal3iEXT")

{-# NOINLINE glBinormal3iEXTFunPtr #-}

glBinormal3ivEXT :: MonadIO m => Ptr GLint -> m ()
glBinormal3ivEXT = ffiPtrintIOV glBinormal3ivEXTFunPtr

glBinormal3ivEXTFunPtr :: FunPtr (Ptr GLint -> IO ())
glBinormal3ivEXTFunPtr = unsafePerformIO (getProcAddress "glBinormal3ivEXT")

{-# NOINLINE glBinormal3ivEXTFunPtr #-}

glBinormal3sEXT :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()
glBinormal3sEXT = ffishortshortshortIOV glBinormal3sEXTFunPtr

glBinormal3sEXTFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
glBinormal3sEXTFunPtr = unsafePerformIO (getProcAddress "glBinormal3sEXT")

{-# NOINLINE glBinormal3sEXTFunPtr #-}

glBinormal3svEXT :: MonadIO m => Ptr GLshort -> m ()
glBinormal3svEXT = ffiPtrshortIOV glBinormal3svEXTFunPtr

glBinormal3svEXTFunPtr :: FunPtr (Ptr GLshort -> IO ())
glBinormal3svEXTFunPtr = unsafePerformIO (getProcAddress "glBinormal3svEXT")

{-# NOINLINE glBinormal3svEXTFunPtr #-}

glBinormalPointerEXT :: MonadIO m => GLenum -> GLsizei -> Ptr () -> m ()
glBinormalPointerEXT = ffienumsizeiPtrVIOV glBinormalPointerEXTFunPtr

glBinormalPointerEXTFunPtr :: FunPtr (GLenum -> GLsizei -> Ptr () -> IO ())
glBinormalPointerEXTFunPtr = unsafePerformIO (getProcAddress "glBinormalPointerEXT")

{-# NOINLINE glBinormalPointerEXTFunPtr #-}

glTangent3bEXT :: MonadIO m => GLbyte -> GLbyte -> GLbyte -> m ()
glTangent3bEXT = ffibytebytebyteIOV glTangent3bEXTFunPtr

glTangent3bEXTFunPtr :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
glTangent3bEXTFunPtr = unsafePerformIO (getProcAddress "glTangent3bEXT")

{-# NOINLINE glTangent3bEXTFunPtr #-}

glTangent3bvEXT :: MonadIO m => Ptr GLbyte -> m ()
glTangent3bvEXT = ffiPtrbyteIOV glTangent3bvEXTFunPtr

glTangent3bvEXTFunPtr :: FunPtr (Ptr GLbyte -> IO ())
glTangent3bvEXTFunPtr = unsafePerformIO (getProcAddress "glTangent3bvEXT")

{-# NOINLINE glTangent3bvEXTFunPtr #-}

glTangent3dEXT :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()
glTangent3dEXT = ffidoubledoubledoubleIOV glTangent3dEXTFunPtr

glTangent3dEXTFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glTangent3dEXTFunPtr = unsafePerformIO (getProcAddress "glTangent3dEXT")

{-# NOINLINE glTangent3dEXTFunPtr #-}

glTangent3dvEXT :: MonadIO m => Ptr GLdouble -> m ()
glTangent3dvEXT = ffiPtrdoubleIOV glTangent3dvEXTFunPtr

glTangent3dvEXTFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glTangent3dvEXTFunPtr = unsafePerformIO (getProcAddress "glTangent3dvEXT")

{-# NOINLINE glTangent3dvEXTFunPtr #-}

glTangent3fEXT :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glTangent3fEXT = ffifloatfloatfloatIOV glTangent3fEXTFunPtr

glTangent3fEXTFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glTangent3fEXTFunPtr = unsafePerformIO (getProcAddress "glTangent3fEXT")

{-# NOINLINE glTangent3fEXTFunPtr #-}

glTangent3fvEXT :: MonadIO m => Ptr GLfloat -> m ()
glTangent3fvEXT = ffiPtrfloatIOV glTangent3fvEXTFunPtr

glTangent3fvEXTFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glTangent3fvEXTFunPtr = unsafePerformIO (getProcAddress "glTangent3fvEXT")

{-# NOINLINE glTangent3fvEXTFunPtr #-}

glTangent3iEXT :: MonadIO m => GLint -> GLint -> GLint -> m ()
glTangent3iEXT = ffiintintintIOV glTangent3iEXTFunPtr

glTangent3iEXTFunPtr :: FunPtr (GLint -> GLint -> GLint -> IO ())
glTangent3iEXTFunPtr = unsafePerformIO (getProcAddress "glTangent3iEXT")

{-# NOINLINE glTangent3iEXTFunPtr #-}

glTangent3ivEXT :: MonadIO m => Ptr GLint -> m ()
glTangent3ivEXT = ffiPtrintIOV glTangent3ivEXTFunPtr

glTangent3ivEXTFunPtr :: FunPtr (Ptr GLint -> IO ())
glTangent3ivEXTFunPtr = unsafePerformIO (getProcAddress "glTangent3ivEXT")

{-# NOINLINE glTangent3ivEXTFunPtr #-}

glTangent3sEXT :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()
glTangent3sEXT = ffishortshortshortIOV glTangent3sEXTFunPtr

glTangent3sEXTFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
glTangent3sEXTFunPtr = unsafePerformIO (getProcAddress "glTangent3sEXT")

{-# NOINLINE glTangent3sEXTFunPtr #-}

glTangent3svEXT :: MonadIO m => Ptr GLshort -> m ()
glTangent3svEXT = ffiPtrshortIOV glTangent3svEXTFunPtr

glTangent3svEXTFunPtr :: FunPtr (Ptr GLshort -> IO ())
glTangent3svEXTFunPtr = unsafePerformIO (getProcAddress "glTangent3svEXT")

{-# NOINLINE glTangent3svEXTFunPtr #-}

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 :: GLenum

pattern GL_BINORMAL_ARRAY_POINTER_EXT = 0x8443 :: GLenum

pattern GL_BINORMAL_ARRAY_STRIDE_EXT = 0x8441 :: GLenum

pattern GL_BINORMAL_ARRAY_TYPE_EXT = 0x8440 :: GLenum

pattern GL_CURRENT_BINORMAL_EXT = 0x843C :: GLenum

pattern GL_CURRENT_TANGENT_EXT = 0x843B :: GLenum

pattern GL_MAP1_BINORMAL_EXT = 0x8446 :: GLenum

pattern GL_MAP1_TANGENT_EXT = 0x8444 :: GLenum

pattern GL_MAP2_BINORMAL_EXT = 0x8447 :: GLenum

pattern GL_MAP2_TANGENT_EXT = 0x8445 :: GLenum

pattern GL_TANGENT_ARRAY_EXT = 0x8439 :: GLenum

pattern GL_TANGENT_ARRAY_POINTER_EXT = 0x8442 :: GLenum

pattern GL_TANGENT_ARRAY_STRIDE_EXT = 0x843F :: GLenum

pattern GL_TANGENT_ARRAY_TYPE_EXT = 0x843E :: GLenum