-- This file was automatically generated. {-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-} module Graphics.GL.Raw.Extension.EXT.VertexArray ( -- * Extension Support gl_EXT_vertex_array -- * GL_EXT_vertex_array , glArrayElementEXT , glColorPointerEXT , glDrawArraysEXT , glEdgeFlagPointerEXT , glGetPointervEXT , glIndexPointerEXT , glNormalPointerEXT , glTexCoordPointerEXT , glVertexPointerEXT , pattern GL_COLOR_ARRAY_COUNT_EXT , pattern GL_COLOR_ARRAY_EXT , pattern GL_COLOR_ARRAY_POINTER_EXT , pattern GL_COLOR_ARRAY_SIZE_EXT , pattern GL_COLOR_ARRAY_STRIDE_EXT , pattern GL_COLOR_ARRAY_TYPE_EXT , pattern GL_EDGE_FLAG_ARRAY_COUNT_EXT , pattern GL_EDGE_FLAG_ARRAY_EXT , pattern GL_EDGE_FLAG_ARRAY_POINTER_EXT , pattern GL_EDGE_FLAG_ARRAY_STRIDE_EXT , pattern GL_INDEX_ARRAY_COUNT_EXT , pattern GL_INDEX_ARRAY_EXT , pattern GL_INDEX_ARRAY_POINTER_EXT , pattern GL_INDEX_ARRAY_STRIDE_EXT , pattern GL_INDEX_ARRAY_TYPE_EXT , pattern GL_NORMAL_ARRAY_COUNT_EXT , pattern GL_NORMAL_ARRAY_EXT , pattern GL_NORMAL_ARRAY_POINTER_EXT , pattern GL_NORMAL_ARRAY_STRIDE_EXT , pattern GL_NORMAL_ARRAY_TYPE_EXT , pattern GL_TEXTURE_COORD_ARRAY_COUNT_EXT , pattern GL_TEXTURE_COORD_ARRAY_EXT , pattern GL_TEXTURE_COORD_ARRAY_POINTER_EXT , pattern GL_TEXTURE_COORD_ARRAY_SIZE_EXT , pattern GL_TEXTURE_COORD_ARRAY_STRIDE_EXT , pattern GL_TEXTURE_COORD_ARRAY_TYPE_EXT , pattern GL_VERTEX_ARRAY_COUNT_EXT , pattern GL_VERTEX_ARRAY_EXT , pattern GL_VERTEX_ARRAY_POINTER_EXT , pattern GL_VERTEX_ARRAY_SIZE_EXT , pattern GL_VERTEX_ARRAY_STRIDE_EXT , pattern GL_VERTEX_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 -- | Checks that the extension is available. gl_EXT_vertex_array :: Bool gl_EXT_vertex_array = member "GL_EXT_vertex_array" extensions {-# NOINLINE gl_EXT_vertex_array #-} -- | Usage: @'glArrayElementEXT' i@ -- -- This command is an alias for 'Graphics.GL.Raw.Internal.Shared.glArrayElement'. glArrayElementEXT :: MonadIO m => GLint -> m () glArrayElementEXT = ffiintIOV glArrayElementEXTFunPtr glArrayElementEXTFunPtr :: FunPtr (GLint -> IO ()) glArrayElementEXTFunPtr = unsafePerformIO (getProcAddress "glArrayElementEXT") {-# NOINLINE glArrayElementEXTFunPtr #-} -- | Usage: @'glColorPointerEXT' size type stride count pointer@ -- -- The parameter @type@ is a @ColorPointerType@, one of: 'Graphics.GL.Raw.Internal.Shared.GL_BYTE', 'Graphics.GL.Raw.Internal.Shared.GL_DOUBLE', 'Graphics.GL.Raw.Internal.Shared.GL_FLOAT', 'Graphics.GL.Raw.Internal.Shared.GL_INT', 'Graphics.GL.Raw.Internal.Shared.GL_SHORT', 'Graphics.GL.Raw.Internal.Shared.GL_UNSIGNED_BYTE', 'Graphics.GL.Raw.Internal.Shared.GL_UNSIGNED_INT', 'Graphics.GL.Raw.Internal.Shared.GL_UNSIGNED_SHORT'. -- -- The length of @pointer@ should be @COMPSIZE(size,type,stride,count)@. glColorPointerEXT :: MonadIO m => GLint -> GLenum -> GLsizei -> GLsizei -> Ptr () -> m () glColorPointerEXT = ffiintenumsizeisizeiPtrVIOV glColorPointerEXTFunPtr glColorPointerEXTFunPtr :: FunPtr (GLint -> GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ()) glColorPointerEXTFunPtr = unsafePerformIO (getProcAddress "glColorPointerEXT") {-# NOINLINE glColorPointerEXTFunPtr #-} -- | Usage: @'glDrawArraysEXT' mode first count@ -- -- The parameter @mode@ is a @PrimitiveType@, one of: 'Graphics.GL.Raw.Internal.Shared.GL_LINES', 'Graphics.GL.Raw.Profile.Core32.GL_LINES_ADJACENCY', 'Graphics.GL.Raw.Extension.ARB.GeometryShader4.GL_LINES_ADJACENCY_ARB', 'Graphics.GL.Raw.Internal.Shared.GL_LINES_ADJACENCY_EXT', 'Graphics.GL.Raw.Internal.Shared.GL_LINE_LOOP', 'Graphics.GL.Raw.Internal.Shared.GL_LINE_STRIP', 'Graphics.GL.Raw.Profile.Core32.GL_LINE_STRIP_ADJACENCY', 'Graphics.GL.Raw.Extension.ARB.GeometryShader4.GL_LINE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Raw.Internal.Shared.GL_LINE_STRIP_ADJACENCY_EXT', 'Graphics.GL.Raw.Internal.Shared.GL_PATCHES', 'Graphics.GL.Raw.Extension.EXT.TessellationShader.GL_PATCHES_EXT', 'Graphics.GL.Raw.Internal.Shared.GL_POINTS', 'Graphics.GL.Raw.Internal.Shared.GL_POLYGON', 'Graphics.GL.Raw.Internal.Shared.GL_QUADS', 'Graphics.GL.Raw.Extension.EXT.TessellationShader.GL_QUADS_EXT', 'Graphics.GL.Raw.Internal.Shared.GL_QUAD_STRIP', 'Graphics.GL.Raw.Internal.Shared.GL_TRIANGLES', 'Graphics.GL.Raw.Profile.Core32.GL_TRIANGLES_ADJACENCY', 'Graphics.GL.Raw.Extension.ARB.GeometryShader4.GL_TRIANGLES_ADJACENCY_ARB', 'Graphics.GL.Raw.Internal.Shared.GL_TRIANGLES_ADJACENCY_EXT', 'Graphics.GL.Raw.Internal.Shared.GL_TRIANGLE_FAN', 'Graphics.GL.Raw.Internal.Shared.GL_TRIANGLE_STRIP', 'Graphics.GL.Raw.Profile.Core32.GL_TRIANGLE_STRIP_ADJACENCY', 'Graphics.GL.Raw.Extension.ARB.GeometryShader4.GL_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Raw.Internal.Shared.GL_TRIANGLE_STRIP_ADJACENCY_EXT'. -- -- This command is an alias for 'Graphics.GL.Raw.Internal.Shared.glDrawArrays'. glDrawArraysEXT :: MonadIO m => GLenum -> GLint -> GLsizei -> m () glDrawArraysEXT = ffienumintsizeiIOV glDrawArraysEXTFunPtr glDrawArraysEXTFunPtr :: FunPtr (GLenum -> GLint -> GLsizei -> IO ()) glDrawArraysEXTFunPtr = unsafePerformIO (getProcAddress "glDrawArraysEXT") {-# NOINLINE glDrawArraysEXTFunPtr #-} -- | Usage: @'glEdgeFlagPointerEXT' stride count pointer@ -- -- The parameter @pointer@ is a @Boolean@, one of: 'Graphics.GL.Raw.Internal.Shared.GL_FALSE', 'Graphics.GL.Raw.Internal.Shared.GL_TRUE'. -- -- The length of @pointer@ should be @COMPSIZE(stride,count)@. glEdgeFlagPointerEXT :: MonadIO m => GLsizei -> GLsizei -> Ptr GLboolean -> m () glEdgeFlagPointerEXT = ffisizeisizeiPtrbooleanIOV glEdgeFlagPointerEXTFunPtr glEdgeFlagPointerEXTFunPtr :: FunPtr (GLsizei -> GLsizei -> Ptr GLboolean -> IO ()) glEdgeFlagPointerEXTFunPtr = unsafePerformIO (getProcAddress "glEdgeFlagPointerEXT") {-# NOINLINE glEdgeFlagPointerEXTFunPtr #-} -- | Usage: @'glGetPointervEXT' pname params@ -- -- The parameter @pname@ is a @GetPointervPName@, one of: 'Graphics.GL.Raw.Internal.Shared.GL_COLOR_ARRAY_POINTER', 'Graphics.GL.Raw.Extension.EXT.VertexArray.GL_COLOR_ARRAY_POINTER_EXT', 'Graphics.GL.Raw.Internal.Shared.GL_EDGE_FLAG_ARRAY_POINTER', 'Graphics.GL.Raw.Extension.EXT.VertexArray.GL_EDGE_FLAG_ARRAY_POINTER_EXT', 'Graphics.GL.Raw.Internal.Shared.GL_FEEDBACK_BUFFER_POINTER', 'Graphics.GL.Raw.Internal.Shared.GL_INDEX_ARRAY_POINTER', 'Graphics.GL.Raw.Extension.EXT.VertexArray.GL_INDEX_ARRAY_POINTER_EXT', 'Graphics.GL.Raw.Extension.SGIX.Instruments.GL_INSTRUMENT_BUFFER_POINTER_SGIX', 'Graphics.GL.Raw.Internal.Shared.GL_NORMAL_ARRAY_POINTER', 'Graphics.GL.Raw.Extension.EXT.VertexArray.GL_NORMAL_ARRAY_POINTER_EXT', 'Graphics.GL.Raw.Internal.Shared.GL_SELECTION_BUFFER_POINTER', 'Graphics.GL.Raw.Internal.Shared.GL_TEXTURE_COORD_ARRAY_POINTER', 'Graphics.GL.Raw.Extension.EXT.VertexArray.GL_TEXTURE_COORD_ARRAY_POINTER_EXT', 'Graphics.GL.Raw.Internal.Shared.GL_VERTEX_ARRAY_POINTER', 'Graphics.GL.Raw.Extension.EXT.VertexArray.GL_VERTEX_ARRAY_POINTER_EXT'. -- -- The length of @params@ should be @1@. -- -- This command is an alias for 'Graphics.GL.Raw.Internal.Shared.glGetPointerv'. glGetPointervEXT :: MonadIO m => GLenum -> Ptr (Ptr ()) -> m () glGetPointervEXT = ffienumPtrPtrVIOV glGetPointervEXTFunPtr glGetPointervEXTFunPtr :: FunPtr (GLenum -> Ptr (Ptr ()) -> IO ()) glGetPointervEXTFunPtr = unsafePerformIO (getProcAddress "glGetPointervEXT") {-# NOINLINE glGetPointervEXTFunPtr #-} -- | Usage: @'glIndexPointerEXT' type stride count pointer@ -- -- The parameter @type@ is a @IndexPointerType@, one of: 'Graphics.GL.Raw.Internal.Shared.GL_DOUBLE', 'Graphics.GL.Raw.Internal.Shared.GL_FLOAT', 'Graphics.GL.Raw.Internal.Shared.GL_INT', 'Graphics.GL.Raw.Internal.Shared.GL_SHORT'. -- -- The length of @pointer@ should be @COMPSIZE(type,stride,count)@. glIndexPointerEXT :: MonadIO m => GLenum -> GLsizei -> GLsizei -> Ptr () -> m () glIndexPointerEXT = ffienumsizeisizeiPtrVIOV glIndexPointerEXTFunPtr glIndexPointerEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ()) glIndexPointerEXTFunPtr = unsafePerformIO (getProcAddress "glIndexPointerEXT") {-# NOINLINE glIndexPointerEXTFunPtr #-} -- | Usage: @'glNormalPointerEXT' type stride count pointer@ -- -- The parameter @type@ is a @NormalPointerType@, one of: 'Graphics.GL.Raw.Internal.Shared.GL_BYTE', 'Graphics.GL.Raw.Internal.Shared.GL_DOUBLE', 'Graphics.GL.Raw.Internal.Shared.GL_FLOAT', 'Graphics.GL.Raw.Internal.Shared.GL_INT', 'Graphics.GL.Raw.Internal.Shared.GL_SHORT'. -- -- The length of @pointer@ should be @COMPSIZE(type,stride,count)@. glNormalPointerEXT :: MonadIO m => GLenum -> GLsizei -> GLsizei -> Ptr () -> m () glNormalPointerEXT = ffienumsizeisizeiPtrVIOV glNormalPointerEXTFunPtr glNormalPointerEXTFunPtr :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ()) glNormalPointerEXTFunPtr = unsafePerformIO (getProcAddress "glNormalPointerEXT") {-# NOINLINE glNormalPointerEXTFunPtr #-} -- | Usage: @'glTexCoordPointerEXT' size type stride count pointer@ -- -- The parameter @type@ is a @TexCoordPointerType@, one of: 'Graphics.GL.Raw.Internal.Shared.GL_DOUBLE', 'Graphics.GL.Raw.Internal.Shared.GL_FLOAT', 'Graphics.GL.Raw.Internal.Shared.GL_INT', 'Graphics.GL.Raw.Internal.Shared.GL_SHORT'. -- -- The length of @pointer@ should be @COMPSIZE(size,type,stride,count)@. glTexCoordPointerEXT :: MonadIO m => GLint -> GLenum -> GLsizei -> GLsizei -> Ptr () -> m () glTexCoordPointerEXT = ffiintenumsizeisizeiPtrVIOV glTexCoordPointerEXTFunPtr glTexCoordPointerEXTFunPtr :: FunPtr (GLint -> GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ()) glTexCoordPointerEXTFunPtr = unsafePerformIO (getProcAddress "glTexCoordPointerEXT") {-# NOINLINE glTexCoordPointerEXTFunPtr #-} -- | Usage: @'glVertexPointerEXT' size type stride count pointer@ -- -- The parameter @type@ is a @VertexPointerType@, one of: 'Graphics.GL.Raw.Internal.Shared.GL_DOUBLE', 'Graphics.GL.Raw.Internal.Shared.GL_FLOAT', 'Graphics.GL.Raw.Internal.Shared.GL_INT', 'Graphics.GL.Raw.Internal.Shared.GL_SHORT'. -- -- The length of @pointer@ should be @COMPSIZE(size,type,stride,count)@. glVertexPointerEXT :: MonadIO m => GLint -> GLenum -> GLsizei -> GLsizei -> Ptr () -> m () glVertexPointerEXT = ffiintenumsizeisizeiPtrVIOV glVertexPointerEXTFunPtr glVertexPointerEXTFunPtr :: FunPtr (GLint -> GLenum -> GLsizei -> GLsizei -> Ptr () -> IO ()) glVertexPointerEXTFunPtr = unsafePerformIO (getProcAddress "glVertexPointerEXT") {-# NOINLINE glVertexPointerEXTFunPtr #-} pattern GL_COLOR_ARRAY_COUNT_EXT = 0x8084 pattern GL_COLOR_ARRAY_EXT = 0x8076 pattern GL_COLOR_ARRAY_POINTER_EXT = 0x8090 pattern GL_COLOR_ARRAY_SIZE_EXT = 0x8081 pattern GL_COLOR_ARRAY_STRIDE_EXT = 0x8083 pattern GL_COLOR_ARRAY_TYPE_EXT = 0x8082 pattern GL_EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D pattern GL_EDGE_FLAG_ARRAY_EXT = 0x8079 pattern GL_EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093 pattern GL_EDGE_FLAG_ARRAY_STRIDE_EXT = 0x808C pattern GL_INDEX_ARRAY_COUNT_EXT = 0x8087 pattern GL_INDEX_ARRAY_EXT = 0x8077 pattern GL_INDEX_ARRAY_POINTER_EXT = 0x8091 pattern GL_INDEX_ARRAY_STRIDE_EXT = 0x8086 pattern GL_INDEX_ARRAY_TYPE_EXT = 0x8085 pattern GL_NORMAL_ARRAY_COUNT_EXT = 0x8080 pattern GL_NORMAL_ARRAY_EXT = 0x8075 pattern GL_NORMAL_ARRAY_POINTER_EXT = 0x808F pattern GL_NORMAL_ARRAY_STRIDE_EXT = 0x807F pattern GL_NORMAL_ARRAY_TYPE_EXT = 0x807E pattern GL_TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B pattern GL_TEXTURE_COORD_ARRAY_EXT = 0x8078 pattern GL_TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092 pattern GL_TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088 pattern GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = 0x808A pattern GL_TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089 pattern GL_VERTEX_ARRAY_COUNT_EXT = 0x807D pattern GL_VERTEX_ARRAY_EXT = 0x8074 pattern GL_VERTEX_ARRAY_POINTER_EXT = 0x808E pattern GL_VERTEX_ARRAY_SIZE_EXT = 0x807A pattern GL_VERTEX_ARRAY_STRIDE_EXT = 0x807C pattern GL_VERTEX_ARRAY_TYPE_EXT = 0x807B