module Graphics.GL.Ext.APPLE.VertexArrayObject (
gl_APPLE_vertex_array_object
, glBindVertexArrayAPPLE
, glDeleteVertexArraysAPPLE
, glGenVertexArraysAPPLE
, glIsVertexArrayAPPLE
, pattern GL_VERTEX_ARRAY_BINDING_APPLE
) 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
gl_APPLE_vertex_array_object :: Bool
gl_APPLE_vertex_array_object = member "GL_APPLE_vertex_array_object" extensions
glBindVertexArrayAPPLE :: MonadIO m => GLuint -> m ()
glBindVertexArrayAPPLE = ffiuintIOV glBindVertexArrayAPPLEFunPtr
glBindVertexArrayAPPLEFunPtr :: FunPtr (GLuint -> IO ())
glBindVertexArrayAPPLEFunPtr = unsafePerformIO (getProcAddress "glBindVertexArrayAPPLE")
glDeleteVertexArraysAPPLE :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteVertexArraysAPPLE = ffisizeiPtruintIOV glDeleteVertexArraysAPPLEFunPtr
glDeleteVertexArraysAPPLEFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteVertexArraysAPPLEFunPtr = unsafePerformIO (getProcAddress "glDeleteVertexArraysAPPLE")
glGenVertexArraysAPPLE :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenVertexArraysAPPLE = ffisizeiPtruintIOV glGenVertexArraysAPPLEFunPtr
glGenVertexArraysAPPLEFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenVertexArraysAPPLEFunPtr = unsafePerformIO (getProcAddress "glGenVertexArraysAPPLE")
glIsVertexArrayAPPLE :: MonadIO m => GLuint -> m GLboolean
glIsVertexArrayAPPLE = ffiuintIOboolean glIsVertexArrayAPPLEFunPtr
glIsVertexArrayAPPLEFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsVertexArrayAPPLEFunPtr = unsafePerformIO (getProcAddress "glIsVertexArrayAPPLE")
pattern GL_VERTEX_ARRAY_BINDING_APPLE = 0x85B5