-- This file was automatically generated. {-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-} module Graphics.GL.Ext.ARB.ShaderObjects ( -- * Extension Support gl_ARB_shader_objects -- * GL_ARB_shader_objects , glAttachObjectARB , glCompileShaderARB , glCreateProgramObjectARB , glCreateShaderObjectARB , glDeleteObjectARB , glDetachObjectARB , glGetActiveUniformARB , glGetAttachedObjectsARB , glGetHandleARB , glGetInfoLogARB , glGetObjectParameterfvARB , glGetObjectParameterivARB , glGetShaderSourceARB , glGetUniformLocationARB , glGetUniformfvARB , glGetUniformivARB , glLinkProgramARB , glShaderSourceARB , glUniform1fARB , glUniform1fvARB , glUniform1iARB , glUniform1ivARB , glUniform2fARB , glUniform2fvARB , glUniform2iARB , glUniform2ivARB , glUniform3fARB , glUniform3fvARB , glUniform3iARB , glUniform3ivARB , glUniform4fARB , glUniform4fvARB , glUniform4iARB , glUniform4ivARB , glUniformMatrix2fvARB , glUniformMatrix3fvARB , glUniformMatrix4fvARB , glUseProgramObjectARB , glValidateProgramARB , pattern GL_BOOL_ARB , pattern GL_BOOL_VEC2_ARB , pattern GL_BOOL_VEC3_ARB , pattern GL_BOOL_VEC4_ARB , pattern GL_FLOAT_MAT2_ARB , pattern GL_FLOAT_MAT3_ARB , pattern GL_FLOAT_MAT4_ARB , pattern GL_FLOAT_VEC2_ARB , pattern GL_FLOAT_VEC3_ARB , pattern GL_FLOAT_VEC4_ARB , pattern GL_INT_VEC2_ARB , pattern GL_INT_VEC3_ARB , pattern GL_INT_VEC4_ARB , pattern GL_OBJECT_ACTIVE_UNIFORMS_ARB , pattern GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB , pattern GL_OBJECT_ATTACHED_OBJECTS_ARB , pattern GL_OBJECT_COMPILE_STATUS_ARB , pattern GL_OBJECT_DELETE_STATUS_ARB , pattern GL_OBJECT_INFO_LOG_LENGTH_ARB , pattern GL_OBJECT_LINK_STATUS_ARB , pattern GL_OBJECT_SHADER_SOURCE_LENGTH_ARB , pattern GL_OBJECT_SUBTYPE_ARB , pattern GL_OBJECT_TYPE_ARB , pattern GL_OBJECT_VALIDATE_STATUS_ARB , pattern GL_PROGRAM_OBJECT_ARB , pattern GL_SAMPLER_1D_ARB , pattern GL_SAMPLER_1D_SHADOW_ARB , pattern GL_SAMPLER_2D_ARB , pattern GL_SAMPLER_2D_RECT_ARB , pattern GL_SAMPLER_2D_RECT_SHADOW_ARB , pattern GL_SAMPLER_2D_SHADOW_ARB , pattern GL_SAMPLER_3D_ARB , pattern GL_SAMPLER_CUBE_ARB , pattern GL_SHADER_OBJECT_ARB ) 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.Internal.Shared import Graphics.GL.Types import System.IO.Unsafe -- | Checks that the extension is available. gl_ARB_shader_objects :: Bool gl_ARB_shader_objects = member "GL_ARB_shader_objects" extensions {-# NOINLINE gl_ARB_shader_objects #-} -- | Usage: @'glAttachObjectARB' containerObj obj@ -- -- The parameter @containerObj@ is a @handleARB@. -- -- The parameter @obj@ is a @handleARB@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glAttachShader'. glAttachObjectARB :: MonadIO m => GLhandleARB -> GLhandleARB -> m () glAttachObjectARB = ffihandleARBhandleARBIOV glAttachObjectARBFunPtr glAttachObjectARBFunPtr :: FunPtr (GLhandleARB -> GLhandleARB -> IO ()) glAttachObjectARBFunPtr = unsafePerformIO (getProcAddress "glAttachObjectARB") {-# NOINLINE glAttachObjectARBFunPtr #-} -- | Usage: @'glCompileShaderARB' shaderObj@ -- -- The parameter @shaderObj@ is a @handleARB@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glCompileShader'. glCompileShaderARB :: MonadIO m => GLhandleARB -> m () glCompileShaderARB = ffihandleARBIOV glCompileShaderARBFunPtr glCompileShaderARBFunPtr :: FunPtr (GLhandleARB -> IO ()) glCompileShaderARBFunPtr = unsafePerformIO (getProcAddress "glCompileShaderARB") {-# NOINLINE glCompileShaderARBFunPtr #-} -- | Usage: @'glCreateProgramObjectARB'@ -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glCreateProgram'. glCreateProgramObjectARB :: MonadIO m => m GLhandleARB glCreateProgramObjectARB = ffiIOhandleARB glCreateProgramObjectARBFunPtr glCreateProgramObjectARBFunPtr :: FunPtr (IO GLhandleARB) glCreateProgramObjectARBFunPtr = unsafePerformIO (getProcAddress "glCreateProgramObjectARB") {-# NOINLINE glCreateProgramObjectARBFunPtr #-} -- | Usage: @'glCreateShaderObjectARB' shaderType@ -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glCreateShader'. glCreateShaderObjectARB :: MonadIO m => GLenum -> m GLhandleARB glCreateShaderObjectARB = ffienumIOhandleARB glCreateShaderObjectARBFunPtr glCreateShaderObjectARBFunPtr :: FunPtr (GLenum -> IO GLhandleARB) glCreateShaderObjectARBFunPtr = unsafePerformIO (getProcAddress "glCreateShaderObjectARB") {-# NOINLINE glCreateShaderObjectARBFunPtr #-} -- | Usage: @'glDeleteObjectARB' obj@ -- -- The parameter @obj@ is a @handleARB@. glDeleteObjectARB :: MonadIO m => GLhandleARB -> m () glDeleteObjectARB = ffihandleARBIOV glDeleteObjectARBFunPtr glDeleteObjectARBFunPtr :: FunPtr (GLhandleARB -> IO ()) glDeleteObjectARBFunPtr = unsafePerformIO (getProcAddress "glDeleteObjectARB") {-# NOINLINE glDeleteObjectARBFunPtr #-} -- | Usage: @'glDetachObjectARB' containerObj attachedObj@ -- -- The parameter @containerObj@ is a @handleARB@. -- -- The parameter @attachedObj@ is a @handleARB@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glDetachShader'. glDetachObjectARB :: MonadIO m => GLhandleARB -> GLhandleARB -> m () glDetachObjectARB = ffihandleARBhandleARBIOV glDetachObjectARBFunPtr glDetachObjectARBFunPtr :: FunPtr (GLhandleARB -> GLhandleARB -> IO ()) glDetachObjectARBFunPtr = unsafePerformIO (getProcAddress "glDetachObjectARB") {-# NOINLINE glDetachObjectARBFunPtr #-} -- | Usage: @'glGetActiveUniformARB' programObj index maxLength length size type name@ -- -- The parameter @programObj@ is a @handleARB@. -- -- The length of @length@ should be @1@. -- -- The length of @size@ should be @1@. -- -- The length of @type@ should be @1@. -- -- The length of @name@ should be @maxLength@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glGetActiveUniform'. glGetActiveUniformARB :: MonadIO m => GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> m () glGetActiveUniformARB = ffihandleARBuintsizeiPtrsizeiPtrintPtrenumPtrcharARBIOV glGetActiveUniformARBFunPtr glGetActiveUniformARBFunPtr :: FunPtr (GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> IO ()) glGetActiveUniformARBFunPtr = unsafePerformIO (getProcAddress "glGetActiveUniformARB") {-# NOINLINE glGetActiveUniformARBFunPtr #-} -- | Usage: @'glGetAttachedObjectsARB' containerObj maxCount count obj@ -- -- The parameter @containerObj@ is a @handleARB@. -- -- The parameter @obj@ is a @handleARB@. -- -- The length of @count@ should be @1@. -- -- The length of @obj@ should be @maxCount@. glGetAttachedObjectsARB :: MonadIO m => GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> m () glGetAttachedObjectsARB = ffihandleARBsizeiPtrsizeiPtrhandleARBIOV glGetAttachedObjectsARBFunPtr glGetAttachedObjectsARBFunPtr :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> IO ()) glGetAttachedObjectsARBFunPtr = unsafePerformIO (getProcAddress "glGetAttachedObjectsARB") {-# NOINLINE glGetAttachedObjectsARBFunPtr #-} -- | Usage: @'glGetHandleARB' pname@ glGetHandleARB :: MonadIO m => GLenum -> m GLhandleARB glGetHandleARB = ffienumIOhandleARB glGetHandleARBFunPtr glGetHandleARBFunPtr :: FunPtr (GLenum -> IO GLhandleARB) glGetHandleARBFunPtr = unsafePerformIO (getProcAddress "glGetHandleARB") {-# NOINLINE glGetHandleARBFunPtr #-} -- | Usage: @'glGetInfoLogARB' obj maxLength length infoLog@ -- -- The parameter @obj@ is a @handleARB@. -- -- The length of @length@ should be @1@. -- -- The length of @infoLog@ should be @maxLength@. glGetInfoLogARB :: MonadIO m => GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> m () glGetInfoLogARB = ffihandleARBsizeiPtrsizeiPtrcharARBIOV glGetInfoLogARBFunPtr glGetInfoLogARBFunPtr :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> IO ()) glGetInfoLogARBFunPtr = unsafePerformIO (getProcAddress "glGetInfoLogARB") {-# NOINLINE glGetInfoLogARBFunPtr #-} -- | Usage: @'glGetObjectParameterfvARB' obj pname params@ -- -- The parameter @obj@ is a @handleARB@. -- -- The length of @params@ should be @COMPSIZE(pname)@. glGetObjectParameterfvARB :: MonadIO m => GLhandleARB -> GLenum -> Ptr GLfloat -> m () glGetObjectParameterfvARB = ffihandleARBenumPtrfloatIOV glGetObjectParameterfvARBFunPtr glGetObjectParameterfvARBFunPtr :: FunPtr (GLhandleARB -> GLenum -> Ptr GLfloat -> IO ()) glGetObjectParameterfvARBFunPtr = unsafePerformIO (getProcAddress "glGetObjectParameterfvARB") {-# NOINLINE glGetObjectParameterfvARBFunPtr #-} -- | Usage: @'glGetObjectParameterivARB' obj pname params@ -- -- The parameter @obj@ is a @handleARB@. -- -- The length of @params@ should be @COMPSIZE(pname)@. glGetObjectParameterivARB :: MonadIO m => GLhandleARB -> GLenum -> Ptr GLint -> m () glGetObjectParameterivARB = ffihandleARBenumPtrintIOV glGetObjectParameterivARBFunPtr glGetObjectParameterivARBFunPtr :: FunPtr (GLhandleARB -> GLenum -> Ptr GLint -> IO ()) glGetObjectParameterivARBFunPtr = unsafePerformIO (getProcAddress "glGetObjectParameterivARB") {-# NOINLINE glGetObjectParameterivARBFunPtr #-} -- | Usage: @'glGetShaderSourceARB' obj maxLength length source@ -- -- The parameter @obj@ is a @handleARB@. -- -- The length of @length@ should be @1@. -- -- The length of @source@ should be @maxLength@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glGetShaderSource'. glGetShaderSourceARB :: MonadIO m => GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> m () glGetShaderSourceARB = ffihandleARBsizeiPtrsizeiPtrcharARBIOV glGetShaderSourceARBFunPtr glGetShaderSourceARBFunPtr :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> IO ()) glGetShaderSourceARBFunPtr = unsafePerformIO (getProcAddress "glGetShaderSourceARB") {-# NOINLINE glGetShaderSourceARBFunPtr #-} -- | Usage: @'glGetUniformLocationARB' programObj name@ -- -- The parameter @programObj@ is a @handleARB@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glGetUniformLocation'. glGetUniformLocationARB :: MonadIO m => GLhandleARB -> Ptr GLcharARB -> m GLint glGetUniformLocationARB = ffihandleARBPtrcharARBIOint glGetUniformLocationARBFunPtr glGetUniformLocationARBFunPtr :: FunPtr (GLhandleARB -> Ptr GLcharARB -> IO GLint) glGetUniformLocationARBFunPtr = unsafePerformIO (getProcAddress "glGetUniformLocationARB") {-# NOINLINE glGetUniformLocationARBFunPtr #-} -- | Usage: @'glGetUniformfvARB' programObj location params@ -- -- The parameter @programObj@ is a @handleARB@. -- -- The length of @params@ should be @COMPSIZE(programObj,location)@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glGetUniformfv'. glGetUniformfvARB :: MonadIO m => GLhandleARB -> GLint -> Ptr GLfloat -> m () glGetUniformfvARB = ffihandleARBintPtrfloatIOV glGetUniformfvARBFunPtr glGetUniformfvARBFunPtr :: FunPtr (GLhandleARB -> GLint -> Ptr GLfloat -> IO ()) glGetUniformfvARBFunPtr = unsafePerformIO (getProcAddress "glGetUniformfvARB") {-# NOINLINE glGetUniformfvARBFunPtr #-} -- | Usage: @'glGetUniformivARB' programObj location params@ -- -- The parameter @programObj@ is a @handleARB@. -- -- The length of @params@ should be @COMPSIZE(programObj,location)@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glGetUniformiv'. glGetUniformivARB :: MonadIO m => GLhandleARB -> GLint -> Ptr GLint -> m () glGetUniformivARB = ffihandleARBintPtrintIOV glGetUniformivARBFunPtr glGetUniformivARBFunPtr :: FunPtr (GLhandleARB -> GLint -> Ptr GLint -> IO ()) glGetUniformivARBFunPtr = unsafePerformIO (getProcAddress "glGetUniformivARB") {-# NOINLINE glGetUniformivARBFunPtr #-} -- | Usage: @'glLinkProgramARB' programObj@ -- -- The parameter @programObj@ is a @handleARB@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glLinkProgram'. glLinkProgramARB :: MonadIO m => GLhandleARB -> m () glLinkProgramARB = ffihandleARBIOV glLinkProgramARBFunPtr glLinkProgramARBFunPtr :: FunPtr (GLhandleARB -> IO ()) glLinkProgramARBFunPtr = unsafePerformIO (getProcAddress "glLinkProgramARB") {-# NOINLINE glLinkProgramARBFunPtr #-} -- | Usage: @'glShaderSourceARB' shaderObj count string length@ -- -- The parameter @shaderObj@ is a @handleARB@. -- -- The length of @string@ should be @count@. -- -- The length of @length@ should be @count@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glShaderSource'. glShaderSourceARB :: MonadIO m => GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> m () glShaderSourceARB = ffihandleARBsizeiPtrPtrcharARBPtrintIOV glShaderSourceARBFunPtr glShaderSourceARBFunPtr :: FunPtr (GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> IO ()) glShaderSourceARBFunPtr = unsafePerformIO (getProcAddress "glShaderSourceARB") {-# NOINLINE glShaderSourceARBFunPtr #-} -- | Usage: @'glUniform1fARB' location v0@ -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform1f'. glUniform1fARB :: MonadIO m => GLint -> GLfloat -> m () glUniform1fARB = ffiintfloatIOV glUniform1fARBFunPtr glUniform1fARBFunPtr :: FunPtr (GLint -> GLfloat -> IO ()) glUniform1fARBFunPtr = unsafePerformIO (getProcAddress "glUniform1fARB") {-# NOINLINE glUniform1fARBFunPtr #-} -- | Usage: @'glUniform1fvARB' location count value@ -- -- The length of @value@ should be @count*1@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform1fv'. glUniform1fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m () glUniform1fvARB = ffiintsizeiPtrfloatIOV glUniform1fvARBFunPtr glUniform1fvARBFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ()) glUniform1fvARBFunPtr = unsafePerformIO (getProcAddress "glUniform1fvARB") {-# NOINLINE glUniform1fvARBFunPtr #-} -- | Usage: @'glUniform1iARB' location v0@ -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform1i'. glUniform1iARB :: MonadIO m => GLint -> GLint -> m () glUniform1iARB = ffiintintIOV glUniform1iARBFunPtr glUniform1iARBFunPtr :: FunPtr (GLint -> GLint -> IO ()) glUniform1iARBFunPtr = unsafePerformIO (getProcAddress "glUniform1iARB") {-# NOINLINE glUniform1iARBFunPtr #-} -- | Usage: @'glUniform1ivARB' location count value@ -- -- The length of @value@ should be @count*1@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform1iv'. glUniform1ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m () glUniform1ivARB = ffiintsizeiPtrintIOV glUniform1ivARBFunPtr glUniform1ivARBFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ()) glUniform1ivARBFunPtr = unsafePerformIO (getProcAddress "glUniform1ivARB") {-# NOINLINE glUniform1ivARBFunPtr #-} -- | Usage: @'glUniform2fARB' location v0 v1@ -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform2f'. glUniform2fARB :: MonadIO m => GLint -> GLfloat -> GLfloat -> m () glUniform2fARB = ffiintfloatfloatIOV glUniform2fARBFunPtr glUniform2fARBFunPtr :: FunPtr (GLint -> GLfloat -> GLfloat -> IO ()) glUniform2fARBFunPtr = unsafePerformIO (getProcAddress "glUniform2fARB") {-# NOINLINE glUniform2fARBFunPtr #-} -- | Usage: @'glUniform2fvARB' location count value@ -- -- The length of @value@ should be @count*2@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform2fv'. glUniform2fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m () glUniform2fvARB = ffiintsizeiPtrfloatIOV glUniform2fvARBFunPtr glUniform2fvARBFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ()) glUniform2fvARBFunPtr = unsafePerformIO (getProcAddress "glUniform2fvARB") {-# NOINLINE glUniform2fvARBFunPtr #-} -- | Usage: @'glUniform2iARB' location v0 v1@ -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform2i'. glUniform2iARB :: MonadIO m => GLint -> GLint -> GLint -> m () glUniform2iARB = ffiintintintIOV glUniform2iARBFunPtr glUniform2iARBFunPtr :: FunPtr (GLint -> GLint -> GLint -> IO ()) glUniform2iARBFunPtr = unsafePerformIO (getProcAddress "glUniform2iARB") {-# NOINLINE glUniform2iARBFunPtr #-} -- | Usage: @'glUniform2ivARB' location count value@ -- -- The length of @value@ should be @count*2@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform2iv'. glUniform2ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m () glUniform2ivARB = ffiintsizeiPtrintIOV glUniform2ivARBFunPtr glUniform2ivARBFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ()) glUniform2ivARBFunPtr = unsafePerformIO (getProcAddress "glUniform2ivARB") {-# NOINLINE glUniform2ivARBFunPtr #-} -- | Usage: @'glUniform3fARB' location v0 v1 v2@ -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform3f'. glUniform3fARB :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> m () glUniform3fARB = ffiintfloatfloatfloatIOV glUniform3fARBFunPtr glUniform3fARBFunPtr :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> IO ()) glUniform3fARBFunPtr = unsafePerformIO (getProcAddress "glUniform3fARB") {-# NOINLINE glUniform3fARBFunPtr #-} -- | Usage: @'glUniform3fvARB' location count value@ -- -- The length of @value@ should be @count*3@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform3fv'. glUniform3fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m () glUniform3fvARB = ffiintsizeiPtrfloatIOV glUniform3fvARBFunPtr glUniform3fvARBFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ()) glUniform3fvARBFunPtr = unsafePerformIO (getProcAddress "glUniform3fvARB") {-# NOINLINE glUniform3fvARBFunPtr #-} -- | Usage: @'glUniform3iARB' location v0 v1 v2@ -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform3i'. glUniform3iARB :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m () glUniform3iARB = ffiintintintintIOV glUniform3iARBFunPtr glUniform3iARBFunPtr :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ()) glUniform3iARBFunPtr = unsafePerformIO (getProcAddress "glUniform3iARB") {-# NOINLINE glUniform3iARBFunPtr #-} -- | Usage: @'glUniform3ivARB' location count value@ -- -- The length of @value@ should be @count*3@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform3iv'. glUniform3ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m () glUniform3ivARB = ffiintsizeiPtrintIOV glUniform3ivARBFunPtr glUniform3ivARBFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ()) glUniform3ivARBFunPtr = unsafePerformIO (getProcAddress "glUniform3ivARB") {-# NOINLINE glUniform3ivARBFunPtr #-} -- | Usage: @'glUniform4fARB' location v0 v1 v2 v3@ -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform4f'. glUniform4fARB :: MonadIO m => GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> m () glUniform4fARB = ffiintfloatfloatfloatfloatIOV glUniform4fARBFunPtr glUniform4fARBFunPtr :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()) glUniform4fARBFunPtr = unsafePerformIO (getProcAddress "glUniform4fARB") {-# NOINLINE glUniform4fARBFunPtr #-} -- | Usage: @'glUniform4fvARB' location count value@ -- -- The length of @value@ should be @count*4@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform4fv'. glUniform4fvARB :: MonadIO m => GLint -> GLsizei -> Ptr GLfloat -> m () glUniform4fvARB = ffiintsizeiPtrfloatIOV glUniform4fvARBFunPtr glUniform4fvARBFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ()) glUniform4fvARBFunPtr = unsafePerformIO (getProcAddress "glUniform4fvARB") {-# NOINLINE glUniform4fvARBFunPtr #-} -- | Usage: @'glUniform4iARB' location v0 v1 v2 v3@ -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform4i'. glUniform4iARB :: MonadIO m => GLint -> GLint -> GLint -> GLint -> GLint -> m () glUniform4iARB = ffiintintintintintIOV glUniform4iARBFunPtr glUniform4iARBFunPtr :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> IO ()) glUniform4iARBFunPtr = unsafePerformIO (getProcAddress "glUniform4iARB") {-# NOINLINE glUniform4iARBFunPtr #-} -- | Usage: @'glUniform4ivARB' location count value@ -- -- The length of @value@ should be @count*4@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glUniform4iv'. glUniform4ivARB :: MonadIO m => GLint -> GLsizei -> Ptr GLint -> m () glUniform4ivARB = ffiintsizeiPtrintIOV glUniform4ivARBFunPtr glUniform4ivARBFunPtr :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ()) glUniform4ivARBFunPtr = unsafePerformIO (getProcAddress "glUniform4ivARB") {-# NOINLINE glUniform4ivARBFunPtr #-} -- | Usage: @'glUniformMatrix2fvARB' location count transpose value@ -- -- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'. -- -- The length of @value@ should be @count*4@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glUniformMatrix2fv'. glUniformMatrix2fvARB :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m () glUniformMatrix2fvARB = ffiintsizeibooleanPtrfloatIOV glUniformMatrix2fvARBFunPtr glUniformMatrix2fvARBFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()) glUniformMatrix2fvARBFunPtr = unsafePerformIO (getProcAddress "glUniformMatrix2fvARB") {-# NOINLINE glUniformMatrix2fvARBFunPtr #-} -- | Usage: @'glUniformMatrix3fvARB' location count transpose value@ -- -- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'. -- -- The length of @value@ should be @count*9@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glUniformMatrix3fv'. glUniformMatrix3fvARB :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m () glUniformMatrix3fvARB = ffiintsizeibooleanPtrfloatIOV glUniformMatrix3fvARBFunPtr glUniformMatrix3fvARBFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()) glUniformMatrix3fvARBFunPtr = unsafePerformIO (getProcAddress "glUniformMatrix3fvARB") {-# NOINLINE glUniformMatrix3fvARBFunPtr #-} -- | Usage: @'glUniformMatrix4fvARB' location count transpose value@ -- -- The parameter @transpose@ is a @Boolean@, one of: 'Graphics.GL.Internal.Shared.GL_FALSE', 'Graphics.GL.Internal.Shared.GL_TRUE'. -- -- The length of @value@ should be @count*16@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glUniformMatrix4fv'. glUniformMatrix4fvARB :: MonadIO m => GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> m () glUniformMatrix4fvARB = ffiintsizeibooleanPtrfloatIOV glUniformMatrix4fvARBFunPtr glUniformMatrix4fvARBFunPtr :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()) glUniformMatrix4fvARBFunPtr = unsafePerformIO (getProcAddress "glUniformMatrix4fvARB") {-# NOINLINE glUniformMatrix4fvARBFunPtr #-} -- | Usage: @'glUseProgramObjectARB' programObj@ -- -- The parameter @programObj@ is a @handleARB@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glUseProgram'. glUseProgramObjectARB :: MonadIO m => GLhandleARB -> m () glUseProgramObjectARB = ffihandleARBIOV glUseProgramObjectARBFunPtr glUseProgramObjectARBFunPtr :: FunPtr (GLhandleARB -> IO ()) glUseProgramObjectARBFunPtr = unsafePerformIO (getProcAddress "glUseProgramObjectARB") {-# NOINLINE glUseProgramObjectARBFunPtr #-} -- | Usage: @'glValidateProgramARB' programObj@ -- -- The parameter @programObj@ is a @handleARB@. -- -- This command is an alias for 'Graphics.GL.Internal.Shared.glValidateProgram'. glValidateProgramARB :: MonadIO m => GLhandleARB -> m () glValidateProgramARB = ffihandleARBIOV glValidateProgramARBFunPtr glValidateProgramARBFunPtr :: FunPtr (GLhandleARB -> IO ()) glValidateProgramARBFunPtr = unsafePerformIO (getProcAddress "glValidateProgramARB") {-# NOINLINE glValidateProgramARBFunPtr #-} pattern GL_BOOL_ARB = 0x8B56 pattern GL_BOOL_VEC2_ARB = 0x8B57 pattern GL_BOOL_VEC3_ARB = 0x8B58 pattern GL_BOOL_VEC4_ARB = 0x8B59 pattern GL_INT_VEC2_ARB = 0x8B53 pattern GL_INT_VEC3_ARB = 0x8B54 pattern GL_INT_VEC4_ARB = 0x8B55 pattern GL_OBJECT_ACTIVE_UNIFORMS_ARB = 0x8B86 pattern GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = 0x8B87 pattern GL_OBJECT_ATTACHED_OBJECTS_ARB = 0x8B85 pattern GL_OBJECT_COMPILE_STATUS_ARB = 0x8B81 pattern GL_OBJECT_DELETE_STATUS_ARB = 0x8B80 pattern GL_OBJECT_INFO_LOG_LENGTH_ARB = 0x8B84 pattern GL_OBJECT_LINK_STATUS_ARB = 0x8B82 pattern GL_OBJECT_SHADER_SOURCE_LENGTH_ARB = 0x8B88 pattern GL_OBJECT_SUBTYPE_ARB = 0x8B4F pattern GL_OBJECT_TYPE_ARB = 0x8B4E pattern GL_OBJECT_VALIDATE_STATUS_ARB = 0x8B83 pattern GL_PROGRAM_OBJECT_ARB = 0x8B40 pattern GL_SAMPLER_1D_ARB = 0x8B5D pattern GL_SAMPLER_1D_SHADOW_ARB = 0x8B61 pattern GL_SAMPLER_2D_ARB = 0x8B5E pattern GL_SAMPLER_2D_RECT_ARB = 0x8B63 pattern GL_SAMPLER_2D_RECT_SHADOW_ARB = 0x8B64 pattern GL_SAMPLER_2D_SHADOW_ARB = 0x8B62 pattern GL_SAMPLER_3D_ARB = 0x8B5F pattern GL_SAMPLER_CUBE_ARB = 0x8B60 pattern GL_SHADER_OBJECT_ARB = 0x8B48