úÎ;i772      !"#$%&'()*+,-./01None Short alias. AA vertex array object captures OpenGL state needed for drawing a E vertex array. It encapsulates the binding of an array buffer and an 4 element buffer, as well as vertex attribute setup.  Allocate a , and initialize it with the A provided action. This action should bind the buffer data, index 3 data (if necessary), and setup vertex attributes.  Delete a #. Do not use the VAO after running  this action! Bind a ", or ensure that no VAO is bound. None%An exception type for OpenGL errors. +Check OpenGL error flags and print them on 2. +Check OpenGL error flags and print them on 2 with the given B message as a prefix. If there are no errors, nothing is printed. 3'Prefix each of a list of messages with GL: . 0Throw an exception if there is an OpenGL error. =Throw an exception if there is an OpenGL error. The exception's - error message is prefixed with the supplied 4. 53 67   53 67None Wrapper whose  ( instance treats the pointer underlying  a 8 as an array of 9s. &Class for containers of texture data. 1Open mapping from Haskell types to OpenGL types. $A basic texture information record. Pixel format of image data. Helper for constructing a  using Haskell : s for image  dimensions. )Create a new 2D texture with data from a . Replace a 2D texture's pixel data with data from a . ;<=>?@ABCDE     ;<=>?@ABCDENone #Load a shader program from a file. !(Link vertex and fragment shaders into a F. "AWork with a named uniform shader parameter. Note that this looks A up the variable name on each access, so uniform parameters that = will be accessed frequently should instead be resolved to a  G. #Set a G to a scalar value. $Set a G! from a list representation of a  low-dimensional vector of H s. Only 2, 3, and 4 dimensional  vectors are supported. %?Set a named uniform shader parameter from a nested list matrix : representation. Only 3x3 and 4x4 matrices are supported. &8Set a uniform shader location from a nested list matrix : representation. Only 3x3 and 4x4 matrices are supported. ')Set a uniform shader location with a 4x4 I. !"JK#$%&' !"#$%&' !"#$&%' !"JK#$%&'None (Allocate and fill a L from a list of Ms. )Allocate and fill a L from a list of Ms C whose length is explicitly given. This is useful when the list is ? of known length, as it avoids a traversal to find the length. *replaceBuffer target elements# replaces the buffer data attached ) to the buffer object currently bound to target with the supplied % list. Any previous data is deleted. +Allocate and fill a L with the given number of bytes  from the supplied pointer. ,Fill a buffer with a 8. -Fill a buffer with data from a N. The application  fromForeignPtr target len fptr fills a target O  with len elements starting from fptr. .Fill a buffer with data from a P. /replaceVector target v* replaces the buffer data attached to the " buffer object currently bound to target with the supplied  P . Any previous data is deleted. 0 Produce a Q3 value to be used as an offset of the given number  of bytes. 1A zero-offset Q. ()*+,-./01 ()*+,-./01 ()*+,-./01 ()*+,-./01None2  !"#$%&'()*+,-./01R      !"#$%&'()*+,-./01234567896:; <=>?@6ABCDEFGHIJKLMNOPQRSQTUVWXQYZ[\Q]^6_`6abQ]cdef6ghi GLUtil-0.3.0"Graphics.GLUtil.VertexArrayObjectsGraphics.GLUtil.GLErrorGraphics.GLUtil.TexturesGraphics.GLUtil.ShadersGraphics.GLUtil.BufferObjectsGraphics.GLUtilVAOVertexArrayObjectmakeVAO deleteVAObindVertexArrayGLError printError printErrorMsg throwError throwErrorMsg ShortString IsPixelDataElem withPixels HasGLTypeglTypeTexInfotexWidth texHeighttexColortexDataTexColorTexRGBATexBGRTexRGBTexMonotexInfo loadTexture reloadTexture loadShaderlinkShaderProgram namedUniform uniformScalar uniformVecnamedUniformMat uniformMat uniformGLMat4 makeBuffer makeBufferLen replaceBufferfromPtrfromByteStringfromForeignPtr fromVector replaceVector offsetPtroffset0baseGHC.IO.Handle.FDstderr printGLErrorsGHC.BaseString $fShowGLError$fExceptionGLErrorbytestring-0.10.0.0Data.ByteString.Internal ByteStringGHC.WordWord16ghc-prim GHC.TypesInt$fIsPixelDataShortString$fIsPixelDataByteString$fIsPixelDataVector$fIsPixelDataStorableArray$fIsPixelDataForeignPtr$fIsPixelDataPtr$fIsPixelData[]$fHasGLTypeFloat$fHasGLTypeWord16$fHasGLTypeWord8$fHasGLTypeIntOpenGL-2.6.0.1,Graphics.Rendering.OpenGL.GL.Shaders.ProgramProgram,Graphics.Rendering.OpenGL.GL.Shaders.UniformUniformLocationOpenGLRaw-1.3.0.0*Graphics.Rendering.OpenGL.Raw.Core31.TypesGLfloat'Graphics.Rendering.OpenGL.GL.CoordTransGLmatrix withHMatrixunUL*Graphics.Rendering.OpenGL.GL.BufferObjects BufferObjectForeign.StorableStorableGHC.ForeignPtr ForeignPtr BufferTargetvector-0.10.0.1Data.Vector.StorableVectorGHC.PtrPtr