te)      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef g h i j k l m n o p q r s t u vwxyz { | } ~          !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                              !!!"!#!$!%!&!'!(!)!*!+","-"."/"0"1"2"3"4"5"6"7#8#9#:#;#<#=#>#?#@#A#B#C#D#E#F#G#H#I#J#K#L#M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_$`$a$b$c$d$e$f$g$h i j k l m n o p q r s t u v w x y z { | } ~         %%%%%%%%%%%%%%%%%%%%%%%%&&&'''''''(((((((((()))))))))))))))))))))))))))))))))))))))))) ) ) ) ) )))))*+++++++++++++ ,!,",#,$,%,&,',(,),*,+,,,-,.,/,0,1,2,3,4,5,6,7,8,9,:,;,<,=,>,?-@-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z-[-\-]-^-_-`-a-b-c-d-e-f.g.h.i.j.k.l.m.n/o/p0q0r0s1t1u1v1w1x1y1z2{2|2}2~2222222222222222222222222222233333333333333333333333333444444444444444444444444444444444444444U5portablestablesven.panne@aedion.deportablestablesven.panne@aedion.de$Floating-point value clamped to [0,1] (min. 64 bits) $Floating-point value (min. 64 bits) $Floating-point value clamped to [0,1] (min. 32 bits) $Floating-point value (min. 32 bits) Bit field (min. 32 bits) INon-negatitve binary integer size (sufficiently large enough to hold any  address) Signed 2'?s complement binary integer (sufficiently large enough to hold  any address) /Enumerated binary integer value (min. 32 bits) 1Non-negatitve binary integer size (min. 32 bits) 'Unsigned binary integer (min. 32 bits) Signed 2'+s complement binary integer (min. 32 bits) 'Unsigned binary integer (min. 16 bits) Signed 2'+s complement binary integer (min. 16 bits) Characters making up strings &Unsigned binary integer (min. 8 bits) Signed 2'*s complement binary integer (min. 8 bits) Boolean (min. 1 bit)    6portablestablesven.panne@aedion.de 3Specification of the way the vertices given during renderPrimitive are 6 interpreted. In the description of the constructors, n is an integer count  starting at one, and N, is the total number of vertices specified. 3Draws a single, convex polygon. Vertices 1 through N define this  polygon. @Draws a connected group of quadrilaterals. One quadrilateral is Bdefined for each pair of vertices presented after the first pair.  Vertices 2n-1, 2n, 2n +2, and 2n+1 define quadrilateral n.  N/D2-1 quadrilaterals are drawn. Note that the order in which vertices I are used to construct a quadrilateral from strip data is different from " that used with independent data. DTreats each group of four vertices as an independent quadrilateral.  Vertices 4n-3, 4n-2, 4n -1, and 4n define quadrilateral n.  N/4 quadrilaterals are drawn. GDraws a connected group of triangles. One triangle is defined for each < vertex presented after the first two vertices. Vertices 1, n+1, and  n+2 define triangle n. N-2 triangles are drawn. GDraws a connected group of triangles. One triangle is defined for each 8 vertex presented after the first two vertices. For odd n , vertices  n, n+1, and n+2 define triangle n . For even n , vertices n+1,  n, and n+2 define triangle n. N-2 triangles are drawn. ETreats each triplet of vertices as an independent triangle. Vertices  3n-2, 3n-1, and 3n define triangle n. N\3/ triangles are drawn. GDraws a connected group of line segments from the first vertex to the  last. Vertices n and n+1 define line n. N-1 lines are drawn. FDraws a connected group of line segments from the first vertex to the ( last, then back to the first. Vertices n and n+1 define line n. 0 The last line, however, is defined by vertices N and 1. N lines  are drawn. FTreats each pair of vertices as an independent line segment. Vertices  2n-1 and 2n define line n. N/2 lines are drawn. -Treats each vertex as a single point. Vertex n defines point n.  N points are drawn.    7portablestablesven.panne@aedion.de !"# !"# #"!!"#8portablestablesven.panne@aedion.de$%&'()*+,-./0123456789:;<=>?$%&'()*+,-./0123456789:;<=>?$?>=<;:9876543210/.-,+*)('&%%&'()*+,-./0123456789:;<=>?9portablestablesven.panne@aedion.de@ABC@ABC@CBAABC:portablestablesven.panne@aedion.deDEFDEFDFEEF;portablestablesven.panne@aedion.deGHIGHIGIHHIghc experimentalrelapse.dev@gmx.com JKLMNOParrow version of runGL QSame as: liftIO . runGL R<This is used internally and shouldnt be needed by the user. JKLMNOPQR QOPLMRJKN JKKLMMNOPQRportablestablesven.panne@aedion.deSTUVWXYZcompatibility: V in the IO monad. [compatibility: Y in the IO monad. \]^A strict variant of V. _`a$A modificator convenience function. bA strict variant of a. STUVWXYZ[\]^_`abXYW\UV]T_S`a^b[ZSTUVVWXYYZ[\]^_`ab<portablestablesven.panne@aedion.decKA vertex can begin an edge which lies in the interior of its polygon or on  the polygon' s boundary. decdecedde=portablestablesven.panne@aedion.de>portablestablesven.panne@aedion.de?portablestablesven.panne@aedion.de@portablestablesven.panne@aedion.de<f General GL/GLU error categories ghijklmnopGL/DGLU errors consist of a general error category and a description of  what went wrong. q      !"#$%&'()*+,-./fghijklmnopq*+,-.f onmlkjihgghijklmnopqq*+,-.Aportablestablesven.panne@aedion.de0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~4y~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876556789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Bportablestablesven.panne@aedion.ded      !"#$%&'()*\      !"#%(\W!            !"#%( portablestablesven.panne@aedion.derstu+rstursturstuportablestablesven.panne@aedion.de ,-./vLDelimit the vertices that define a primitive or a group of like primitives. BOnly a subset of GL commands can be used in the delimited action: ) Those for specifying vertex coordinates  (+Graphics.Rendering.OGL.GL.VertexSpec.vertex,  ,Graphics.Rendering.OGL.GL.VertexSpec.vertexv),  vertex colors  (*Graphics.Rendering.OGL.GL.VertexSpec.color,  +Graphics.Rendering.OGL.GL.VertexSpec.colorv,  3Graphics.Rendering.OGL.GL.VertexSpec.secondaryColor,  4Graphics.Rendering.OGL.GL.VertexSpec.secondaryColorv,  *Graphics.Rendering.OGL.GL.VertexSpec.index,  +Graphics.Rendering.OGL.GL.VertexSpec.indexv),  normal  (+Graphics.Rendering.OGL.GL.VertexSpec.normal,  ,Graphics.Rendering.OGL.GL.VertexSpec.normalv),  texture coordinates  (-Graphics.Rendering.OGL.GL.VertexSpec.texCoord,  .Graphics.Rendering.OGL.GL.VertexSpec.texCoordv,  2Graphics.Rendering.OGL.GL.VertexSpec.multiTexCoord,  3Graphics.Rendering.OGL.GL.VertexSpec.multiTexCoordv),  and fog coordinates  (-Graphics.Rendering.OGL.GL.VertexSpec.fogCoord,  .Graphics.Rendering.OGL.GL.VertexSpec.fogCoordv).  Additionally,  /Graphics.Rendering.OGL.GL.Evaluators.evalPoint1,  /Graphics.Rendering.OGL.GL.Evaluators.evalPoint2,  /Graphics.Rendering.OGL.GL.Evaluators.evalCoord1,  0Graphics.Rendering.OGL.GL.Evaluators.evalCoord1v,  /Graphics.Rendering.OGL.GL.Evaluators.evalCoord2,  0Graphics.Rendering.OGL.GL.Evaluators.evalCoord2v,  0Graphics.Rendering.OGL.GL.Colors.materialAmbient,  0Graphics.Rendering.OGL.GL.Colors.materialDiffuse,  :Graphics.Rendering.OGL.GL.Colors.materialAmbientAndDiffuse,  1Graphics.Rendering.OGL.GL.Colors.materialSpecular,  1Graphics.Rendering.OGL.GL.Colors.materialEmission,  2Graphics.Rendering.OGL.GL.Colors.materialShininess,  /Graphics.Rendering.OGL.GL.DisplayLists.callList,  0Graphics.Rendering.OGL.GL.DisplayLists.callLists,  and setting y5 are allowed. Writing the respective state variables * is allowed in the delimited action, too. Regardless of the chosen %, there is no limit to the number of . vertices that can be defined during a single v . Lines, M triangles, quadrilaterals, and polygons that are incompletely specified are N not drawn. Incomplete specification results when either too few vertices are N provided to specify even a single primitive or when an incorrect multiple of J vertices is specified. The incomplete primitive is ignored; the rest are  drawn. JThe minimum specification of vertices for each primitive is as follows: 1 O for a point, 2 for a line, 3 for a triangle, 4 for a quadrilateral, and 3 for B a polygon. Modes that require a certain multiple of vertices are  (2),   (3),  (4), and  (2). w7A more efficient, but potentially dangerous version of v: 8 The given action is not allowed to throw an exception. 0x12yGEach vertex of a polygon, separate triangle, or separate quadrilateral  specified during v- is marked as the start of either a boundary ! or nonboundary (interior) edge. LThe vertices of connected triangles and connected quadrilaterals are always ? marked as boundary, regardless of the value of the edge flag. HBoundary and nonboundary edge flags on vertices are significant only if  .Graphics.Rendering.OGL.GL.Polygons.polygonMode is set to  (Graphics.Rendering.OGL.GL.Polygons.Point or  'Graphics.Rendering.OGL.GL.Polygons.Line. JNote that the current edge flag can be updated at any time, in particular  during v. cdevwxyvwxcedyvwxy portablestablesven.panne@aedion.dezKWhen an error occurs, it is recorded in this state variable and no further  errors are recorded. Reading z' returns the currently recorded errors O (there may be more than one due to a possibly distributed implementation) and  resets the state variable to []&, re-enabling the recording of future  errors. The value []5 means that there has been no detectable error since  the last time z, was read, or since the GL was initialized. fghijklmnopqz pqfonmlkjihgzz portablestablesven.panne@aedion.de{{{{Cportablestablesven.panne@aedion.de|HIdentifies a texture unit via its number, which must be in the range of  (0 .. maxTextureUnit). }34|}34|}}34 portablestablesven.panne@aedion.de56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~~HThe class of all types which can be used as a generic vertex attribute. A color index.  Change the current color index. ;The class of all types which can be used as a color index. $Change the current secondary color. A fully-fledged RGBA color. Change the current color. ?The class of all types which can be used as a color component. A fog coordinate. #Change the current fog coordinate. @The class of all types which can be used as the fog coordinate. ?Change the current normal. Integral arguments are converted to B floating-point with a linear mapping that maps the most positive I representable integer value to 1.0, and the most negative representable  integer value to -1.0. Normals specified with  or  need not have unit length.  If .Graphics.Rendering.OGL.GL.CoordTrans.normalize is enabled, then & normals of any length specified with  or  are normalized  after transformation. If  2Graphics.Rendering.OGL.GL.CoordTrans.rescaleNormal is enabled, normals C are scaled by a scaling factor derived from the modelview matrix.  2Graphics.Rendering.OGL.GL.CoordTrans.rescaleNormal requires that the J originally specified normals were of unit length, and that the modelview K matrix contains only uniform scales for proper results. Normalization is  initially disabled. EThe class of all types which can be used as a component of a normal.  4Fully-fledged four-dimensional texture coordinates. Texture coordinates with q=1. Texture coordinates with r=0 and q=1. Texture coordinates with t=0, r=0, and q=1. GChange the current texture coordinates of the current or given texture  unit. BThe class of all types which can be used as a texture coordinate.     )A fully-fledged four-dimensional vertex. A vertex with w=1. A vertex with z=0 and w=1.  Specify the (x, y, z, w,) coordinates of a four-dimensional vertex.  This must only be done during  2Graphics.Rendering.OGL.GL.BeginEnd.renderPrimitive, otherwise the F behaviour is unspecified. The current values of the auxiliary vertex , attributes are associated with the vertex. &Note that there is no such thing as a "current vertex" which could be  retrieved. AThe class of all types which can be used as a vertex coordinate. !The current texture coordinates (s, t, r, q) for the current  texture unit (see 2Graphics.Rendering.OGL.GL.CoordTrans.activeTexture). 7 The initial value is (0,0,0,1) for all texture units.  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_The current normal (x, y, z(). The initial value is the unit vector  (0, 0, 1). 4The current fog coordinate. The initial value is 0. `abcdefgIf  contains h), the color buffers store RGBA value. If ' color indexes are stored, it contains i. jklmnopqrstuvwxyz{|}~DAn implementation must support at least 2 texture units, but it may L support up to 32 ones. This state variable can be used to query the actual  implementation limit. K|}~K~|}I~ portablestablesven.panne@aedion.deGCreate a new matrix of the given order (containing undefined elements) 3 and call the action to fill it with 4x4 elements. 'Call the action with the given matrix. Note: The action is not ( allowed to modify the matrix elements! A matrix stack. The matrix palette stack. The color matrix stack. The texture matrix stack. The projection matrix stack. 9The modelview matrix stack of the specified vertex unit. *A 2-dimensional size, measured in pixels. .A 2-dimensional position, measured in pixels. After clipping and division by w(, depth coordinates range from -1 to 1, 4 corresponding to the near and far clipping planes.  specifies a L linear mapping of the normalized depth coordinates in this range to window J depth coordinates. Regardless of the actual depth buffer implementation, H window coordinate depth values are treated as though they range from 0 A through 1 (like color components). Thus, the values accepted by  : are both clamped to this range before they are accepted. LThe initial setting of (0, 1) maps the near plane to 0 and the far plane to A 1. With this mapping, the depth buffer range is fully utilized. LIt is not necessary that the near value be less than the far value. Reverse ) mappings such as (1, 0) are acceptable. IControls the affine transformation from normalized device coordinates to M window coordinates. The viewport state variable consists of the coordinates  (x, yB) of the lower left corner of the viewport rectangle, (in pixels, % initial value (0,0)), and the size (width, height) of the viewport. When - a GL context is first attached to a window, width and height are set to  the dimensions of that window. Let (xnd, ynd4) be normalized device coordinates. Then the window  coordinates (xw, yw) are computed as follows: xw = (xnd + 1) (width / 2) + x yw = (ynd + 1) (heigth / 2) + y NViewport width and height are silently clamped to a range that depends on the  implementation, see . @The implementation-dependent maximum viewport width and height.    LControls which matrix stack is the target for subsequent matrix operations.  The initial value is ( 0).        KPush the current matrix stack down by one, duplicating the current matrix, J excute the given action, and pop the current matrix stack, replacing the M current matrix with the one below it on the stack (i.e. restoring it to its L previous state). The returned value is that of the given action. Note that G a round-trip to the server is probably required. For a more efficient  version, see . 7A more efficient, but potentially dangerous version of : E The given action is not allowed to throw an exception or change the " current matrix mode permanently. If  contains  , normal vectors specified with  +Graphics.Rendering.OGL.GL.VertexSpec.normal are scaled by a scaling + factor derived from the modelview matrix.  requires that the J originally specified normals were of unit length, and that the modelview N matrix contains only uniform scales for proper results. The initial value of   is . If  contains  , normal vectors specified with  +Graphics.Rendering.OGL.GL.VertexSpec.normal are scaled to unit length , after transformation. The initial value of  is .          ;;;portablestablesven.panne@aedion.de portablestablesven.panne@aedion.de portablestablesven.panne@aedion.dem  ! " # $ % & ' ( ) * + , - . / 0 1      2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N!"# O P Q$ R%& S'()*+, T U V W-. X/0 Y Z1 [ \2 ] ^31 !"#      !"#$%&'()*+,-./01231 #"! !"#$%&'()*+,-./01    2 3-          !"#$%&'()*+,-./0123portablestablesven.panne@aedion.de _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  456789:;<=>?@ABCDEFGHIJKLMNOPQRS T UV W XYZ [\ ] ^_` a J$%&'()*+,-./0123456789:;<=>?456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aJS$?>=<;:9876543210/.-,+*)('&%RPQFONMLKJIHGT7EDCBA@?>=<;:98UVW654XYZ[\]^_`a.4567EDCBA@?>=<;:9889:;<=>?@ABCDEF ONMLKJIHGGHIJKLMNOPQQRSTUVWXYZ[\]^_`aportablestablesven.panne@aedion.de_ bcd efghijklmnopqrstuvwxyz{| }An }; corresponds to the general OpenGL notion of an explicitly I handled object name, e.g. a display list name, a texture object name, a  buffer object name, etc. ~      (bcdefghijklmnopqrstuvwxyz{|}~(}~{|vzyxwlutsrqponmegfhkjibdc(bdccdegffghkjiijkl utsrqponmmnopqrstuvzyxwwxyz{||}~~portablestablesven.panne@aedion.de          Dportablestablesven.panne@aedion.de                   ! "      ! "      ! "     ! "Eportablestablesven.panne@aedion.de # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = 6 7 8 9 : ; < 6 7 8 9 : ; < 6 7 8 9 : ; <Fportablestablesven.panne@aedion.de > ? @ A B C D E F > ? @ A C E F > ? @ ? @ A C E FGportablestablesven.panne@aedion.de G H I J K J Jportablestablesven.panne@aedion.de L M N O P Q R S T U portablestablesven.panne@aedion.de5 V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o pportablestablesven.panne@aedion.de? does not return until the effects of all previously called GL J commands are complete. Such effects include all changes to GL state, all L changes to connection state, and all changes to the frame buffer contents.  Note that & requires a round trip to the server. BDifferent GL implementations buffer commands in several different K locations, including network buffers and the graphics accelerator itself.  A empties all of these buffers, causing all issued commands to be J executed as quickly as they are accepted by the actual rendering engine. N Though this execution may not be completed in any particular time period, it  does complete in finite time. NBecause any GL program might be executed over a network, or on an accelerator 1 that buffers commands, all programs should call  whenever they count K on having all of their previously issued commands completed. For example,  call = before waiting for user input that depends on the generated  image.  Note that 4 can return at any time. It does not wait until the = execution of all previously issued GL commands is complete. portablestablesven.panne@aedion.de- q r s t u v w x y z { | } ~      Hportablestablesven.panne@aedion.deEThe set of color buffers which are selected for reading and writing. *Only the given auxiliary color buffer no. i is selected. DAll the front and back color buffers (front left, front right, back J left, back right) are selected. If there are no back color buffers, only I the front left and front right color buffers are selected. If there are I no right color buffers, only the front left and back left color buffers E are selected. If there are no right or back color buffers, only the & front left color buffer is selected. COnly the front right and back right color buffers are selected. If H there is no back right color buffer, only the front right color buffer  is selected. GOnly the front left and back left color buffers are selected. If there C is no back left color buffer, only the front left color buffer is  selected. GOnly the back left and back right color buffers are selected. If there C is no back right color buffer, only the back left color buffer is  selected. COnly the front left and front right color buffers are selected. If H there is no front right color buffer, only the front left color buffer  is selected. .Only the back right color buffer is selected. .Only the back left color buffer is selected. /Only the front right color buffer is selected. .Only the front left color buffer is selected. No color buffers are selected.    portablestablesven.panne@aedion.de7 )An operation on the accumulation buffer. Adds the value given to  to each R, G, B, and A in the  accumulation buffer. Multiplies each R, G, B, and A in the accumulation buffer by  the value given to ) and returns the scaled component to its - corresponding accumulation buffer location. DTransfers accumulation buffer values to the color buffer or buffers & currently selected for writing. Each R, G, B, and A component % is multiplied by the value given to , then multiplied by 2^n-1,  clamped to the range [0, 2^n-1]", and stored in the corresponding G display buffer cell. The only fragment operations that are applied to B this transfer are pixel ownership, scissor, dithering, and color  writemasks.  Similar to 4, except that the current value in the accumulation F buffer is not used in the calculation of the new value. That is, the  R, G, B, and A/ values from the currently selected buffer are  divided by 2^n%-1, multiplied by the value given to  , and then G stored in the corresponding accumulation buffer cell, overwriting the  current value. Obtains R, G, B, and A" values from the buffer currently  selected for reading (see  3Graphics.Rendering.OGL.GL.ReadCopyPixels.readBuffer). Each ! component value is divided by 2^n -1, where n is the number of bits I allocated to each color component in the currently selected buffer. The 4 result is a floating-point value in the range [0, 1] , which is " multiplied by the value given to  and added to the corresponding B pixel component in the accumulation buffer, thereby updating the  accumulation buffer. &The buffers which can be cleared with . The depth buffer. The stencil buffer. The accumulation buffer. 1The buffers currently enabled for color writing. FThe implementation and context dependent number of auxiliary buffers. h" if front and back buffers exist. h" if left and right buffers exist. LWhen colors are written to the framebuffer, they are written into the color  buffers specified by . HIf more than one color buffer is selected for drawing, then blending or J logical operations are computed and applied independently for each color : buffer and can produce different results in each buffer. IMonoscopic contexts include only left buffers, and stereoscopic contexts I include both left and right buffers. Likewise, single-buffered contexts M include only front buffers, and double-buffered contexts include both front A and back buffers. The context is selected at GL initialization. The initial value is # for single-buffered contexts, and   for double-buffered contexts. ; defines the draw buffers to which all fragment colors are O written. The draw buffers being defined correspond in order to the respective M fragment colors. The draw buffer for fragment colors beyond those specified  is set to .  Except for 6, a buffer may not appear more then once in the given < list. Specifying a buffer more then once will result in an  2Graphics.Rendering.OGL.GLU.Errors.InvalidOperation. 7If fixed-function fragment shading is being performed,  K specifies a set of draw buffers into which the fragment color is written. If a fragment shader writes to  gl_FragColor,  specifies a set A of draw buffers into which the single fragment color defined by   gl_FragColor, is written. If a fragment shader writes to  gl_FragData,  A specifies a set of draw buffers into which each of the multiple  fragment colors defined by  gl_FragData are separately written. If a # fragment shader writes to neither  gl_FragColor nor  gl_FragData, the M values of the fragment colors following shader execution are undefined, and % may differ for each fragment color. >Contains the maximum number of buffers that can activated via  K or which can be simultaneously written into from within a fragment shader ) using the special output variable array  gl_FragData. This constant % effectively defines the size of the  gl_FragData array. The minimum legal  value is 1. HControls the writing of individual bits in the color index buffers. The  least significant n bits of its value, where n is the number of bits in a K color index buffer, specify a mask. Where a 1 appears in the mask, it is J possible to write to the corresponding bit in the color index buffer (or H buffers). Where a 0 appears, the corresponding bit is write-protected. LThis mask is used only in color index mode, and it affects only the buffers % currently selected for writing (see ). Initially, all bits are  enabled for writing. KControls whether the individual color components in the framebuffer can or ' cannot be written. If the red flag is Disabled, for example, no change is E made to the red component of any pixel in any of the color buffers, E regardless of the drawing operation attempted. Initially, all color  components can be written. GChanges to individual bits of components cannot be controlled. Rather, E changes are either enabled or disabled for entire color components. 3 Furthermore, this mask is used only in RGBA mode. LControls whether the depth buffer is enabled for writing. The initial state  is Enabled. IControls the writing of individual bits in the stencil planes. The least  significant n bits of its value, where n is the number of bits in the F stencil buffer, specify a mask. Where a 1 appears in the mask, it is M possible to write to the corresponding bit in the stencil buffer. Where a 0 4 appears, the corresponding bit is write-protected. . Initially, all bits are enabled for writing.  ESet the bitplane area of the window to values previously selected by  , , , , and . M Multiple color buffers can be cleared simultaneously by selecting more than  one buffer at a time using . FThe pixel ownership test, the scissor test, dithering, and the buffer $ writemasks affect the operation of . The scissor box bounds the D cleared region. Alpha function, blend function, logical operation, @ stenciling, texure mapping, and depth-buffering are ignored by . F takes a list of buffers, indicating which buffers are to be cleared. $ If a buffer is not present, then a  directed at that buffer has no  effect. NThe value to which each buffer is cleared depends on the setting of the clear  value for that buffer. 8Controls the red, green, blue, and alpha values used by  to clear ( the color buffers. Values written into  are clamped to the range  [0, 1]. Initially, all values are 0. Controls the index c used by # to clear the color index buffers.  c is not clamped. Rather, c* is converted to a fixed-point value with M unspecified precision to the right of the binary point. The integer part of " this value is then masked with 2^m -1, where m is the number of bits in a C color index stored in the framebuffer. Initially, the value is 0. !Controls the depth value used by # to clear the depth buffer. Values  written into  are clamped to the range [0, 1]. The initial value  is 1. Controls the value s used by  to clear the stencil buffer. s is  masked with 2^m -1, where m. is the number of bits in the stencil buffer.  Initially, the value is 0. 8Controls the red, green, blue, and alpha values used by  to clear . the accumulation buffer. Values written into  are clamped to the  range [-1, 1] . The initial values are all 0. JThe accumulation buffer is an extended-range color buffer. Images are not M rendered into it. Rather, images rendered into one of the color buffers are K added to the contents of the accumulation buffer after rendering. Effects I such as antialiasing (of points, lines, and polygons), motion blur, and O depth of field can be created by accumulating images generated with different  transformation matrices. NEach pixel in the accumulation buffer consists of red, green, blue, and alpha M values. The number of bits per component in the accumulation buffer depends  on the implementation (see (). Regardless of the number of bits per B component, the range of values stored by each component is [-1, 1]. The L accumulation buffer pixels are mapped one-to-one with frame buffer pixels. D operates on the accumulation buffer. The first argument selects an O accumulation buffer operation. The second argument, is a floating-point value # to be used in that operation, see . JAll accumulation buffer operations are limited to the area of the current H scissor box and applied identically to the red, green, blue, and alpha ! components of each pixel. If an & operation results in a value outside  the range [-1, 1]9, the contents of an accumulation buffer pixel component  are undefined. &To clear the accumulation buffer, use  to specify the clear  value, then call ' with the accumulation buffer enabled. --!portablestablesven.panne@aedion.de                          portablestablesven.panne@aedion.de  and 6 support efficient specification of rectangles as two N corner points. Each rectangle command takes four arguments, organized either  as two consecutive pairs of (x, y%) coordinates, or as two pointers to  arrays, each containing an (x, y#) pair. The resulting rectangle is  defined in the z = 0 plane.  ( x1 y1) ( x2, y2) is exactly equivalent to the  following sequence:    2Graphics.Rendering.OGL.GL.BeginEnd.renderPrimitive *Graphics.Rendering.OGL.GL.BeginEnd.Polygon $ do  +Graphics.Rendering.OGL.GL.VertexSpec.vertex ( x1 y1)  +Graphics.Rendering.OGL.GL.VertexSpec.vertex ( x2 y1)  +Graphics.Rendering.OGL.GL.VertexSpec.vertex ( x2 y2)  +Graphics.Rendering.OGL.GL.VertexSpec.vertex ( x1 y2) NNote that if the second vertex is above and to the right of the first vertex, ? the rectangle is constructed with a counterclockwise winding. portablestablesven.panne@aedion.deb   ! "   #$%&'() !"#$%&'()"! #$%&'()  !"#$%&'()portablestablesven.panne@aedion.de                        ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6*+,- 7 8 9 : ; < = > ?. @/0123456789:;<=>?@ABCD A B C D E F G H I JE K L M N O P Q RF S T UG V WH X Y Z [ \ ] ^ _ ` a b c d e fI g hJ i j k l m n oK p qLM r s t u v w x y z { | } ~N  O P Q R STU V W X Y ZIContains the number of hardware units that can be used to access texture ? maps from the vertex processor. The minimum legal value is 0. [GContains the total number of hardware units that can be used to access I texture maps from the fragment processor. The minimum legal value is 2. \GContains the total number of hardware units that can be used to access M texture maps from the vertex processor and the fragment processor combined. N Note: If the vertex shader and the fragment processing stage access the same L texture image unit, then that counts as using two texture image units. The  minimum legal value is 2. ]GContains the number of texture coordinate sets that are available. The  minimum legal value is 2. ^LContains the number of individual components (i.e., floating-point, integer L or boolean values) that are available for vertex shader uniform variables. ! The minimum legal value is 512. _LContains the number of individual components (i.e., floating-point, integer N or boolean values) that are available for fragment shader uniform variables.  The minimum legal value is 64. `HContains the number of active vertex attributes that are available. The  minimum legal value is 16. aFContains the number of individual floating-point values available for 3 varying variables. The minimum legal value is 32. 8*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a8FHGLJIMKESNOTRQUPV/DCBA@?>=<;:9876543210W.XY*+,-Z[\]^_`a8*+,+,-./DCBA@?>=<;:98765432100123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aportablestablesven.panne@aedion.de bb? contains the rasterized width of both aliased and antialiased N lines. The initial value is 1. Using a line width other than 1 has different A effects, depending on whether line antialiasing is enabled (see  d,). Line antialiasing is initially disabled. MIf line antialiasing is disabled, the actual width is determined by rounding L the supplied width to the nearest integer. (If the rounding results in the 1 value 0, it is as if the line width were 1.) If delta x >= delta y, i < pixels are filled in each column that is rasterized, where i is the  rounded value of b . Otherwise, i pixels are filled in each row  that is rasterized. LIf antialiasing is enabled, line rasterization produces a fragment for each K pixel square that intersects the region lying within the rectangle having M width equal to the current line width, length equal to the actual length of M the line, and centered on the mathematical line segment. The coverage value L for each fragment is the window coordinate area of the intersection of the M rectangular region with the corresponding pixel square. This value is saved + and used in the final rasterization step. INot all widths can be supported when line antialiasing is enabled. If an K unsupported width is requested, the nearest supported width is used. Only M width 1 is guaranteed to be supported; others depend on the implementation. K Likewise, there is a range for aliased line widths as well. To query the H range of supported widths of antialiased lines and the size difference 2 between supported widths within the range, query f and  g-, respectively. For aliased lines, query the  supported range with e. The line width specified when b# is set is always returned when it M is queried. Clamping and rounding for aliased and antialiased lines have no  effect on the specified value. KA non-antialiased line width may be clamped to an implementation-dependent  maximum. Query e! to determine the maximum width. An .Graphics.Rendering.OGL.GLU.Errors.InvalidValue is generated if  b/ is set to a value less than or equal to zero. An 2Graphics.Rendering.OGL.GLU.Errors.InvalidOperation is generated if  b is set during  2Graphics.Rendering.OGL.GL.BeginEnd.renderPrimitive. cLLine stippling masks out certain fragments produced by rasterization; those E fragments will not be drawn. The masking is achieved by using three 2 parameters: the repeat count (1st element of the c pair, clamped  to the range [ 1 .. 256 ]2), the 16-bit line stipple pattern (2nd element),  and an integer stipple counter s.  The counter s1 is reset to 0 at before the first action during  2Graphics.Rendering.OGL.GL.BeginEnd.renderPrimitive is called and before  each line segment during  2Graphics.Rendering.OGL.GL.BeginEnd.renderPrimitive is generated. It is I incremented after each fragment of a unit width aliased line segment is  generated or after each i fragments of an i width line segment are  generated. The i! fragments associated with count s are masked out if  Data.Bits.testBit pattern (( s / factor ) mod 16) is i, I otherwise these fragments are sent to the frame buffer. Bit zero of the > pattern is the least significant bit, i.e. it is used first. JAntialiased lines are treated as a sequence of rectangles of height 1 for * purposes of stippling. Whether rectangle s! is rasterized or not depends on K the fragment rule described for aliased lines, counting rectangles rather  than groups of fragments. The initial value of c is  , i.e. line stippling is  disabled. An 2Graphics.Rendering.OGL.GLU.Errors.InvalidOperation is generated if  c is set during  2Graphics.Rendering.OGL.GL.BeginEnd.renderPrimitive. dDControls whether line antialiasing is enabled. The initial state is  -Graphics.Rendering.OGL.GL.BasicTypes.Disabled. e;The smallest and largest supported width of aliased lines. f?The smallest and largest supported width of antialiased lines. gIThe antialiased line width granularity, i.e. the size difference between  supported widths. bcdefgbcdefgbcdefgportablestablesven.panne@aedion.de hijkl m(A utility function to be used with e.g. j or  l5, transforming a variable containing a string of the  form major.minor[optional rest]& into a variable containing a numeric  major/Eminor version. If the string is malformed, which should never happen 9 with a sane OpenGL implementation, it is transformed to (-1,-1). hijklmhijklmhijklmportablestablesven.panne@aedion.de% nopqrstuvwxyz{|}~   nopqrstuvwxyz{|}~r~}|{zyxwvutsnqponqpoopqr~}|{zyxwvutsstuvwxyz{|}~Iportablestablesven.panne@aedion.de   Jportablestablesven.panne@aedion.de     portablestablesven.panne@aedion.de                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I JXX?Kportablestablesven.panne@aedion.de@      K L M@      K L M@<           K L M!portablestablesven.panne@aedion.de N O P Q R S T U V W X Y Z [ \ ] ^ _ !" `#$%&'()* a b  !"#$%&'()*  "!#$%&'()*  "!!"#$%&'()*"portablestablesven.panne@aedion.de6 c d+,-. e f g h i j k l m n o p q r s t u v w x y z { | } ~  /0123456 +,-./0123456 +.-,/0123456 +.-,,-./0123456#portablestablesven.panne@aedion.de) 7 89:;<= >?@ABCDEFGH IJ KConvenience state variable LConvenience state variable 789:;<=>?@ABCDEFGHIJKL>HGFEDCBA@?=89:;<7IJKL789:;<9:;<=> HGFEDCBA@??@ABCDEFGHIJKLLportablestablesven.panne@aedion.deMNOPQRSTUVWXYZ[\]^_`abc MNOPQRSTUVWXYZ[\]^_`abc Mcba`_^]\[ZYXWVUTSRQPONNOPQRSTUVWXYZ[\]^_`abc Mportablestablesven.panne@aedion.dede de dee $portablestablesven.panne@aedion.de fgMNOPQRSTUVWXYZ[\]^_`abcdefgdeMcba`_^]\[ZYXWVUTSRQPONfgfg portablestablesven.panne@aedion.deK hijklmnopqrstuvwxy z { | } ~    \     hijklmnopqrstuvwxyz{|}~\uyxwvzhjiktsrqponml     {|}~hjiijk tsrqponmllmnopqrstuyxwvvwxyz{|}~%portablestablesven.panne@aedion.deU                   portablestablesven.panne@aedion.de#                   ! " # $ % & ' ( ) * + DEFGHI DFEGIH&portablestablesven.panne@aedion.de , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ ANportablestablesven.panne@aedion.deDEFGHI      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~portablestablesven.panne@aedion.de B C D E F G H I J K@ABC@CBAportablestablesven.panne@aedion.de3 L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e'portablestablesven.panne@aedion.de f g h iOportablestablesven.panne@aedion.de j k l m n o p q r s t u v w l m n o p r u l p o n m m n o p r u(portablestablesven.panne@aedion.de x6 contains the rasterized diameter of both aliased and M antialiased points. The initial value is 1. Using a point size other than 1 K has different effects, depending on whether point antialiasing is enabled  (see $) or point sprites are enabled (see ). Both  are initially disabled. JThe specified point size is multiplied with a distance attenuation factor  and clamped to the specified , and further clamped to the M implementation-dependent point size range to produce the derived point size  using    derivedSize = clamp (size * sqrt (1 / (a + b * d + c * d^2)))where d@ is the eye-coordinate distance from the eye to the vertex, and a,  b, and c0 are the distance attenuation coefficients (see  ). JIf multisampling is disabled, the computed point size is used as the point's  width. KIf multisampling is enabled, the point may be faded by modifying the point  alpha value (see 4Graphics.Rendering.OGL.GL.PerFragment.sampleCoverage) 9 instead of allowing the point width to go below a given  1. In this case, the width is further modified in  the following manner:   width = if  derivedSize >=  threshold then  derivedSize else  threshold0The point alpha value is modified by computing:   alpha = if  derivedSize >=  threshold then 1 else ( derivedSize /  threshold)^2MIf point antialiasing is disabled, the actual size is determined by rounding K the supplied size to the nearest integer. (If the rounding results in the J value 0, it is as if the point size were 1.) If the rounded size is odd,  then the center point (x, y() of the pixel fragment that represents  the point is computed as   (x, y) = (floor xw + 0.5, floor yw + 0.5)where xw and yw9 indicate window coordinates. All pixels that lie within 2 the square grid of the rounded size centered at (x, y) make up the 4 fragment. If the size is even, the center point is   (x, y) = (floor (xw + 0.5), floor (yw + 0.5))and the rasterized fragment'&s centers are the half-integer window @ coordinates within the square of the rounded size centered at (x, y). All M pixel fragments produced in rasterizing a nonantialiased point are assigned J the same associated data, that of the vertex corresponding to the point. MIf antialiasing is enabled, then point rasterization produces a fragment for M each pixel square that intersects the region lying within the circle having C diameter equal to the current point size and centered at the point's  (xw, ywA). The coverage value for each fragment is the window coordinate N area of the intersection of the circular region with the corresponding pixel K square. This value is saved and used in the final rasterization step. The J data associated with each fragment is the data associated with the point  being rasterized. FNot all sizes are supported when point antialiasing is enabled. If an O unsupported size is requested, the nearest supported size is used. Only size J 1 is guaranteed to be supported; others depend on the implementation. To H query the range of supported sizes for antialiased points and the size < difference between supported sizes within the range, query   and , respectively. For 0 aliased points, query the supported range with . The point size specified when # is set is always returned when it N is queried. Clamping and rounding for aliased and antialiased points have no  effect on the specified value. KA non-antialiased point size may be clamped to an implementation-dependent O maximum. Although this maximum cannot be queried, it must be no less than the M maximum value for antialiased points, rounded to the nearest integer value. An .Graphics.Rendering.OGL.GLU.Errors.InvalidValue is generated if  / is set to a value less than or equal to zero. An 2Graphics.Rendering.OGL.GLU.Errors.InvalidOperation is generated if   is set during  2Graphics.Rendering.OGL.GL.BeginEnd.renderPrimitive. :The range to which the derived point size is clamped, see . Note N that the size is further clamped to the implementation-dependent limits, see   and . The initial range is  (0, 1). An .Graphics.Rendering.OGL.GLU.Errors.InvalidValue is generated if the L lower or upper bound of the range is set to a value less than zero. If the O lower bound is greater than the upper bound, the point size after clamping is ' undefined, but no error is generated. LThe constant, linear, and quadratic distance attenuation coefficients, see  *. The initial coefficients are (1, 0, 0). JThe threshold for alpha attenuation of points when multisampling is used,  see . The initial threshold is 1. An .Graphics.Rendering.OGL.GLU.Errors.InvalidValue is generated if the - threshold is set to a value less than zero. EControls whether point antialiasing is enabled. The initial state is  -Graphics.Rendering.OGL.GL.BasicTypes.Disabled. AControls whether point sprites are enabled. The initial state is  -Graphics.Rendering.OGL.GL.BasicTypes.Disabled. When point sprites are 0 enabled, the state of point antialiasing (i.e. ) is ignored. ;The smallest and largest supported size of aliased points. ?The smallest and largest supported size of antialiased points. IThe antialiased point size granularity, i.e. the size difference between  supported sizes.   Pportablestablesven.panne@aedion.de y z { y z { y z {)portablestablesven.panne@aedion.deN | } ~             3     3     &     *portablestablesven.panne@aedion.de +portablestablesven.panne@aedion.de     Qportablestablesven.panne@aedion.de&    ,portablestablesven.panne@aedion.de, !"#$%&'()*+,-./0 1 2 3456789:; <= > !"#$%&'()*+,-./0123456789:;<=>.0/-,1)+*$('&%23#456789:;<= "!> "!!"#$('&%%&'()+**+,-.0//0123456789:;<=>-portablestablesven.panne@aedion.de` ?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\      ]^_`a !"bc#de'?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde'U\[ZYXWV]LTSRQPONM^_GKJIHEF?DCBA@`abcde'?DCBA@@ABCDEFFGKJIHHIJKLTSRQPONMMNOPQRSTU\[ZYXWVVWXYZ[\]^_`abcde.portablestablesven.panne@aedion.de$%&'()fgh*i+,jklmfghijklmghijkflmfghhijklmRportablestablesven.panne@aedion.de      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmSportablestablesven.panne@aedion.deW  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHISTUVWXYZ[\]^_`abcderstuvwxy{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm/portablestablesven.panne@aedion.de-./0no12nonono0portablestablesven.panne@aedion.de345pqrpqrpqrpqr1portablestablesven.panne@aedion.de6789:stuvwxy;<=>?@stuvwxytsuvwxystuvwxy2portablestablesven.panne@aedion.deyABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`z{|}~%A triangulation of a complex polygon 3A triangle, represented by three triangle vertices GA triangle vertex with additional information about the edge it begins >The contours of a complex polygon, represented by one or more " non-intersecting simple contours (A simple, non-self-intersecting contour A general tessellator type. NBefore tessellation of a complex polygon, all its vertices are projected into C a plane perpendicular to the given normal. If the given normal is   Normal3 0 0 0+, a fitting plane of all vertices is used. EThe relative tolerance under which two vertices can be combined (see  ?). Multiplication with the largest coordinate magnitude of all N polygon vertices yields the maximum distance between two mergeable vertices. @Note that merging is optional and the tolerance is only a hint. IA function combining given vertex properties into a property for a newly  generated vertex Four vertex properties (cf. ) with associated weigths  summing up to 1.0. IA complex (possibly concave) polygon, represented by one or more complex % and possibly intersecting contours. 5A complex contour, which can be self-intersecting and/ or concave. KThe basic building block in tessellation is a 3D vertex with an associated 1 property, e.g. color, texture coordinates, etc. abcdefghijklmnopqrstuvwxyz{|}~!z{|}~!~|}z{!z{{|}}~3portablestablesven.panne@aedion.de64portablestablesven.panne@aedion.dev'''Tportablestablesven.panne@aedion.de{fghijklmnopqznopqrstuvwxyz{|}~Uportablestablesven.panne@aedion.de  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~VWXYZ[\]^_`abcdefghijkl6m6n6o6p6q6r6s6t6u6v6w7x7y7z7{8|8}8~88888888888888888888888889999:::;;;<<<@@@@@@@@@@@@  CC                                                                          ! " # $ % & ' ( ( ) ) * +  , - . / / 0 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ABBCDEFGHIJKLMNOPQRSTTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~DDDDDEGGGGG     HHHHHHHHHHHH !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~IIIIIIIIIIIIIIIIJJJJJJJJJ     KKKKKKKKKK K!K"K#K$K%K&K'K(K)K*K+K,K-K.K/K0K1K2K3K4K5K6K7K8K9K:K;K<K=K>K?K@KAKBKCKDKEKFKGKHKIKJKKKLKMKNKOKPKQKRKS!T!U!V!W!X!Y!Z![!\!]!^"_"`"a"b"c"d"e"f"g"h"i"j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~##LLLLLLLLLLLLLLLLLLLLLLLMM$$                               %%%%%%%%%%%%%%%%%%%%%%%%&&&'''''''(((((( ( ( ( ( PPPPPPPPPPPPP))))))))))) ) )!)!)")")#)$)%)&)')()))*)+),)-).)/)0)1)2)3)4)5)6)7)8*9+:+;+<+=+>+?+@+A+B+C+D+E+F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,[,\,],^,_,`,a,b,c,d,e-f-g-h-i-j-k-l-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z-{-|-}-~-------------........//0001111111222222222222222222222222222222222333333333333333333333333334444444444444444444444444444444444444445566778899::;<<==  > > > >????????@@@@@@ @!@"@#@$@%@&@'@(@)@*@+@,@-@.@/@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?@@@A@B@C@D@E@F@G@H@I@JAKALAMANAOAPAQARASATAUAVAWAXAYAZA[A\A]A^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}A~AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A A A A AAAAAAAAAAAAAAAAAAA A!A"A#A$A%A&A'A(A)A*A+A,A-A.A/A0A1A2A3A4A5A6A7A8A9A:A;A<A=A>A?A@AAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA[A\A]A^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}A~AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB B B B B BBBBBBBBBBBBBBBBBBB B!B"B#B$B%B&B'B(B)B*B+B,B-B.B/B0B1B2B3B4B5B6B7B8B9B:B;B<B=B>B?B@BABBBCBDBE FGHIJKLMCNCO P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L MN N O P Q R S T U V W0 X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! "D #D $D %D &D 'D (D )D *D +D ,D -D .D /D 0D 1D 2D 3D 4D 5D 6D 7D 8D 9D :D ;E <E =E >E ?E @E AE BE CE DE EE FE GE HE IE JE KE LE ME NE OE PE QE RE SE TE UE VF WF WF XF YF ZF [F \F ]F ^G _G `G aG bG c d e f g h i j k l m n h o p q r s t u v w x y z { | } ~         l      V                  H H                                                                                                                                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Qd R S T U V W X Y Z [{ \ ] ^ _ ` a b c d e} f~ g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                            I I J J                    ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X YK ZK [K \! ]! ^! _! `! a! b! c! d! e! f! g! h! i! j! k! l! m! n! o! p! q" r" s" t" u" v" w" x" y" z" {" |" }" ~" " " " " " " " " " " " " " " " " " " " " " " " " " " " " # # # # # # #k# # # # # # # # # # # # L L M $ $            % % % % % % % % % % % % % % % % % % % % % % % %% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %        ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8& 9& :& ;& <& =& >& ?& @& A& B& C& D& E& F& G& H& I& J& K& L& M& N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m' n' o' p' qO rO sO tO uO vO wO xO yO zO {O |O }O ~O ( P P P ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) * + + + + + + + + + + + + + + + + + + + Q Q Q Q Q Q Q Q Q Q Q Q QFQ QGQ Q QQ Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q , , , , , , , , , , , , , - - - - - - - - - - - - - - - - ---------- - - - - --------- ----------- -!-"-#-$-%-&-$.'.(.).*.+.,.-...//0/ / / / / 0102031415161718191:1;1<1=1>2?2@2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z2[2\2]2]2^2_2`2a2b2c2d2e2f2g2h2i22j2k22l2m22n2o2p2q2r2s2t2u2v2w2x2y2z2{2|2}2~222222222222222222223333333333333333333333333333444444444444C4D4E4F44444G4H4K4L44444444444444444444444U444W4[444444444l44444o444444444444444 OGL-0.0.3Graphics.Rendering.OGL.Monad$Graphics.Rendering.OGL.GL.BasicTypes"Graphics.Rendering.OGL.GL.BeginEnd Graphics.Rendering.OGL.GL.Colors&Graphics.Rendering.OGL.GL.VertexArrays"Graphics.Rendering.OGL.GL.Polygons3Graphics.Rendering.OGL.GL.PixelRectangles.Histogram"Graphics.Rendering.OGL.GL.StateVar!Graphics.Rendering.OGL.GLU.Errors&Graphics.Rendering.OGL.GL.Antialiasing"Graphics.Rendering.OGL.GL.ColorSum$Graphics.Rendering.OGL.GL.VertexSpec$Graphics.Rendering.OGL.GL.CoordTrans!Graphics.Rendering.OGL.GL.Bitmaps"Graphics.Rendering.OGL.GL.Clipping'Graphics.Rendering.OGL.GL.BufferObjects&Graphics.Rendering.OGL.GL.DisplayLists$Graphics.Rendering.OGL.GL.Evaluators#Graphics.Rendering.OGL.GL.Selection"Graphics.Rendering.OGL.GL.Feedback%Graphics.Rendering.OGL.GL.FlushFinishGraphics.Rendering.OGL.GL.Fog%Graphics.Rendering.OGL.GL.FramebufferGraphics.Rendering.OGL.GL.Hints$Graphics.Rendering.OGL.GL.Rectangles#Graphics.Rendering.OGL.GL.RasterPos!Graphics.Rendering.OGL.GL.Shaders&Graphics.Rendering.OGL.GL.LineSegments'Graphics.Rendering.OGL.GL.StringQueries%Graphics.Rendering.OGL.GL.SavingState%Graphics.Rendering.OGL.GL.PerFragment4Graphics.Rendering.OGL.GL.PixelRectangles.ColorTable6Graphics.Rendering.OGL.GL.PixelRectangles.PixelStorage7Graphics.Rendering.OGL.GL.PixelRectangles.PixelTransfer2Graphics.Rendering.OGL.GL.PixelRectangles.PixelMap7Graphics.Rendering.OGL.GL.PixelRectangles.Rasterization5Graphics.Rendering.OGL.GL.PixelRectangles.Convolution0Graphics.Rendering.OGL.GL.PixelRectangles.Minmax(Graphics.Rendering.OGL.GL.ReadCopyPixels Graphics.Rendering.OGL.GL.Points1Graphics.Rendering.OGL.GL.Texturing.Specification/Graphics.Rendering.OGL.GL.Texturing.Application+Graphics.Rendering.OGL.GL.Texturing.Queries.Graphics.Rendering.OGL.GL.Texturing.Parameters0Graphics.Rendering.OGL.GL.Texturing.Environments+Graphics.Rendering.OGL.GL.Texturing.Objects)Graphics.Rendering.OGL.GLU.Initialization%Graphics.Rendering.OGL.GLU.Mipmapping!Graphics.Rendering.OGL.GLU.Matrix'Graphics.Rendering.OGL.GLU.Tessellation#Graphics.Rendering.OGL.GLU.Quadrics Graphics.Rendering.OGL.GLU.NURBS#Graphics.Rendering.OGL.GL.GLboolean'Graphics.Rendering.OGL.GL.PrimitiveModeGraphics.Rendering.OGL.GL.Face"Graphics.Rendering.OGL.GL.DataType%Graphics.Rendering.OGL.GL.PolygonMode.Graphics.Rendering.OGL.GL.PixelRectangles.Sink/Graphics.Rendering.OGL.GL.PixelRectangles.Reset"Graphics.Rendering.OGL.GL.EdgeFlag#Graphics.Rendering.OGL.GL.Exception$Graphics.Rendering.OGL.GL.Extensions"Graphics.Rendering.OGL.GL.PeekPoke)Graphics.Rendering.OGL.GLU.ErrorsInternal$Graphics.Rendering.OGL.GL.QueryUtils$Graphics.Rendering.OGL.GL.Capability/Graphics.Rendering.OGL.GL.Texturing.TextureUnit Graphics.Rendering.OGL.GL.Domain&Graphics.Rendering.OGL.GL.ControlPoint!Graphics.Rendering.OGL.GL.IOState$Graphics.Rendering.OGL.GL.RenderMode$Graphics.Rendering.OGL.GL.BufferMode(Graphics.Rendering.OGL.GL.BlendingFactor,Graphics.Rendering.OGL.GL.ComparisonFunction7Graphics.Rendering.OGL.GL.Texturing.PixelInternalFormat%Graphics.Rendering.OGL.GL.PixelFormat#Graphics.Rendering.OGL.GL.PixelData)Graphics.Rendering.OGL.GL.PixelRectangles(Graphics.Rendering.OGL.GL.PointParameter1Graphics.Rendering.OGL.GL.Texturing.TextureTarget0Graphics.Rendering.OGL.GL.Texturing.TexParameter#Graphics.Rendering.OGL.GL.TexturingGraphics.Rendering.OGL.GLGraphics.Rendering.OGL.GLUGraphics.Rendering.OGLtransformers-0.2.2.0Control.Monad.IO.ClassliftIO CapabilityEnabledDisabledGLclampdGLdoubleGLclampfGLfloat GLbitfield GLsizeiptrGLintptrGLenumGLsizeiGLuintGLintGLushortGLshortGLcharGLubyteGLbyte GLboolean PrimitiveModePolygon QuadStripQuads TriangleFan TriangleStrip Triangles LineStripLineLoopLinesPointsFace FrontAndBackBackFrontDataTypeUnsignedInt248UnsignedShort88RevUnsignedShort88UnsignedInt2101010RevUnsignedInt8888RevUnsignedShort1555RevUnsignedShort4444RevUnsignedShort565RevUnsignedShort565UnsignedByte233RevUnsignedInt1010102UnsignedInt8888UnsignedShort5551UnsignedShort4444UnsignedByte332BitmapDouble FourBytes ThreeBytesTwoBytesFloat UnsignedIntInt UnsignedShortShort UnsignedByteByte PolygonModeFillLinePointSink PassThroughResetNoReset PrimitiveGLGLMonadGLrunGLrunGLAliftGL runPrimitiveStateVarSettableStateVar HasSetter$=GettableStateVar HasGetterget$$=getIOmakeGettableStateVarset$=!makeSettableStateVar makeStateVar$~$~!EdgeFlagBeginsBoundaryEdgeBeginsInteriorEdge ErrorCategory NURBSErrorTesselatorError TableTooLarge OutOfMemoryStackUnderflow StackOverflowInvalidOperation InvalidValue InvalidEnumError sampleBufferssamples multisample subpixelBitsrenderPrimitiveunsafeRenderPrimitiveprimitiveRestartedgeFlagerrorscolorSum TextureUnit VertexAttribVertexAttribComponent vertexAttrib1 vertexAttrib2 vertexAttrib3 vertexAttrib4vertexAttrib1vvertexAttrib2vvertexAttrib3vvertexAttrib4vAttribLocationIndex1IndexindexindexvIndexComponentSecondaryColorsecondaryColorsecondaryColorvColor4Color3ColorcolorcolorvColorComponent FogCoord1FogCoordfogCoord fogCoordvFogCoordComponentNormal3NormalnormalnormalvNormalComponent TexCoord4 TexCoord3 TexCoord2 TexCoord1TexCoordtexCoord texCoordv multiTexCoordmultiTexCoordvTexCoordComponentVertex4Vertex3Vertex2VertexvertexvertexvVertexComponentcurrentTextureCoords currentNormalcurrentFogCoordrgbaMode currentColorcurrentSecondaryColor currentIndexmaxTextureUnitfrustumortho loadIdentityTextureGenMode ReflectionMap NormalMap SphereMap ObjectLinear EyeLinearTextureCoordNameQRTSPlaneGLmatrixMatrix withNewMatrix withMatrix newMatrixgetMatrixComponentsMatrixComponentrotate translatescale MatrixOrderRowMajor ColumnMajorVector3Vector2 MatrixMode MatrixPaletteTexture Projection ModelviewSizePosition depthRangeviewportmaxViewportDims matrixMode currentMatrixmatrix multMatrix depthClamp activeTexturepreservingMatrixunsafePreservingMatrix stackDepth maxStackDepth rescaleNormal normalizetextureGenModebitmap ClipPlaneName clipPlane maxClipPlanes ShadingModelSmoothFlatColorMaterialParameterAmbientAndDiffuseEmissionSpecularDiffuseAmbientLightModelColorControlSeparateSpecularColor SingleColorFrontFaceDirectionCCWCWLightlightinglight maxLights frontFacematerialAmbientmaterialDiffusematerialAmbientAndDiffusematerialSpecularmaterialEmissionmaterialShininess maxShininessmaterialColorIndexesambientdiffusespecularposition spotDirection spotExponentmaxSpotExponent spotCutoff attenuationlightModelAmbientlightModelLocalViewerlightModelTwoSidevertexProgramTwoSidelightModelColorControl colorMaterial shadeModelNumIndexBlocksNumArrayIndices ArrayIndexInterleavedArrays T4fC4fN3fV4f T2fC4fN3fV3f T2fN3fV3f T2fC3fV3f T2fC4ubV3fT4fV4fT2fV3f C4fN3fV3fN3fV3fC3fV3fC4ubV3fC4ubV2fV3fV2fClientArrayTypeMatrixIndexArraySecondaryColorArray FogCoordArray EdgeFlagArrayTextureCoordArray IndexArray ColorArray NormalArray VertexArrayVertexArrayDescriptorStride NumComponents arrayPointerinterleavedArrays clientStateclientActiveTexture arrayElement drawArraysmultiDrawArrays drawElementsmultiDrawElementsdrawRangeElementsmaxElementsVerticesmaxElementsIndices lockArraysprimitiveRestartIndexMappingFailureUnmappingFailed MappingFailedTransferDirection WriteToBufferReadFromBuffer BufferAccess ReadWrite WriteOnlyReadOnly BufferUsage DynamicCopy DynamicRead DynamicDraw StaticCopy StaticRead StaticDraw StreamCopy StreamRead StreamDraw BufferTargetPixelUnpackBufferPixelPackBufferElementArrayBuffer ArrayBuffer BufferObject ObjectNamegenObjectNamesdeleteObjectNames isObjectName bindBufferarrayBufferBinding bufferData bufferSubDatawithMappedBuffer mapBuffer unmapBuffer bufferAccess bufferMappedcallListListModeCompileAndExecuteCompile DisplayListgenLists deleteListsisList defineList defineNewList listIndexlistModemaxListNesting callListslistBaseDomain evalCoord1 evalCoord1v evalCoord2 evalCoord2v ControlPoint RenderModeSelectFeedbackRender renderModeloadNameName HitRecord getHitRecordswithNamemaxNameStackDepthnameStackDepth passThroughPassThroughValue FeedbackTypeFourDColorTextureThreeDColorTexture ThreeDColorThreeDTwoD ColorInfo VertexInfoVertex4DColorTextureVertex3DColorTexture Vertex3DColorVertex3DVertex2D FeedbackTokenPassThroughTokenCopyPixelTokenDrawPixelToken BitmapToken PolygonTokenLineResetToken LineToken PointTokengetFeedbackTokensfinishflushFogDistanceModeEyePlaneAbsoluteEyePlaneSigned EyeRadial FogCoordSrc FragmentDepthFogModeExp2ExpLinearfogfogModefogColorfogIndex fogCoordSrcfogDistanceMode BufferMode AuxBufferFrontAndBackBuffers RightBuffers LeftBuffers BackBuffers FrontBuffersBackRightBufferBackLeftBufferFrontRightBufferFrontLeftBuffer NoBuffersAccumOpAddMultReturnLoadAccum ClearBuffer DepthBuffer StencilBuffer AccumBuffer ColorBuffer auxBuffers doubleBuffer stereoBufferrgbaBits stencilBits depthBits accumBits drawBuffer drawBuffersmaxDrawBuffers indexMask colorMask depthMask stencilMaskstencilMaskSeparateclear clearColor clearIndex clearDepth clearStencil clearAccumaccumHintModeNicestFastestDontCare HintTarget UnpackCMYKPackCMYKTextureCompressionGenerateMipmapFog PolygonSmooth LineSmooth PointSmoothPerspectiveCorrectionhintRectrectrectv WindowPos windowPos windowPosvWindowPosComponent RasterPos rasterPos rasterPosvRasterPosComponentcurrentRasterPositioncurrentRasterDistancecurrentRasterColorcurrentRasterSecondaryColorcurrentRasterIndexcurrentRasterTexCoordscurrentRasterPositionValidrasterPositionUnclippedUniformuniformuniformvUniformComponentUniformLocation VariableTypeSampler2DShadowSampler1DShadow SamplerCube Sampler3D Sampler2D Sampler1DBoolVec4BoolVec3BoolVec2BoolIntVec4IntVec3IntVec2Int' FloatMat4 FloatMat3 FloatMat2 FloatVec4 FloatVec3 FloatVec2Float'ProgramShaderFragmentShader VertexShader compileShader shaderSource shaderInfoLogshaderDeleteStatus compileStatusattachedShaders linkProgramcurrentProgramvalidateProgramprogramInfoLogprogramDeleteStatus linkStatusvalidateStatusattribLocation activeAttribsuniformLocationactiveUniformsmaxVertexTextureImageUnitsmaxTextureImageUnitsmaxCombinedTextureImageUnitsmaxTextureCoordsmaxVertexUniformComponentsmaxFragmentUniformComponentsmaxVertexAttribsmaxVaryingFloats lineWidth lineStipple lineSmoothaliasedLineWidthRangesmoothLineWidthRangesmoothLineWidthGranularityvendorrenderer glVersion glExtensionsshadingLanguageVersion majorMinorClientAttributeGroupAllClientAttributesVertexArrayAttributesPixelStoreAttributesServerAttributeGroupAllServerAttributesMultisampleAttributesScissorAttributesTextureAttributesListAttributesEvalAttributesHintAttributesColorBufferAttributesEnableAttributesTransformAttributesViewportAttributesStencilBufferAttributesAccumBufferAttributesDepthBufferAttributes FogAttributesLightingAttributesPixelModeAttributesPolygonStippleAttributesPolygonAttributesLineAttributesPointAttributesCurrentAttributespreservingAttribpreservingClientAttribBlendingFactorSrcAlphaSaturateOneMinusConstantAlpha ConstantAlphaOneMinusConstantColor ConstantColorOneMinusDstAlphaDstAlphaOneMinusSrcAlphaSrcAlphaOneMinusDstColorDstColorOneMinusSrcColorSrcColorOneZeroComparisonFunctionAlwaysGequalNotequalGreaterLequalEqualLessNeverLogicOpSetNand OrInverted CopyInverted OrReverseInvertEquivNorOrXorNoop AndInvertedCopy AndReverseAndClear BlendEquationMaxMinFuncReverseSubtract FuncSubtractFuncAdd QueryTarget SamplesPassed QueryObject StencilOpOpInvert OpDecrWrapOpDecr OpIncrWrapOpIncr OpReplaceOpKeepOpZeroscissorsampleAlphaToCoveragesampleAlphaToOnesampleCoverage depthBounds alphaFunc stencilTest stencilFuncstencilFuncSeparate stencilOpstencilOpSeparateactiveStencilFace depthFunc withQueryqueryCounterBits currentQuery queryResultqueryResultAvailableblend blendEquationblendEquationSeparateblendFuncSeparate blendFunc blendColorditherlogicOpPixelInternalFormatCompressedSLuminanceAlphaCompressedSLuminanceCompressedSRGBAlphaCompressedSRGBCompressedRGBA CompressedRGBCompressedIntensityCompressedLuminanceAlphaCompressedLuminanceCompressedAlphaSLuminance8Alpha8 SLuminance8 SRGB8Alpha8SRGB8RGBA16RGBA12RGB10A2RGBA8RGB5A1RGBA4RGBA2RGB16RGB12RGB10RGB8RGB5RGB4R3G3B2 Intensity16 Intensity12 Intensity8 Intensity4Luminance16Alpha16Luminance12Alpha12Luminance12Alpha4Luminance8Alpha8Luminance6Alpha2Luminance4Alpha4 Luminance16 Luminance12 Luminance8 Luminance4DepthComponent32DepthComponent24DepthComponent16Alpha16Alpha12Alpha8Alpha4SLuminanceAlpha SLuminance SRGBAlphaSRGBRGBA'RGB' IntensityLuminanceAlpha' Luminance'DepthComponent'Alpha'PixelStoreDirectionUnpackPack swapByteslsbFirst rowLengthskipRows skipPixels rowAlignment imageHeight skipImagesPixelTransferStagePostColorMatrixPostConvolutionPreConvolutionmapColor mapStencil indexShift indexOffset depthScale depthBias rgbaScalergbaBias GLpixelmapPixelMapwithNewPixelMap withPixelMap newPixelMapgetPixelMapComponentsPixelMapComponentPixelMapTargetAToABToBGToGRToRIToAIToBIToGIToRSToSIToImaxPixelMapTablepixelMappixelMapIToRGBApixelMapRGBAToRGBA PixelFormat DepthStencilYCBCR422FourTwoTwoRevAverageFourTwoTwoAverage FourTwoTwoRev FourTwoTwoCMYKACMYKBGRABGRABGRLuminanceAlpha LuminanceRGBARGBAlphaBlueGreenRedDepthComponent StencilIndex ColorIndex PixelData drawPixels pixelZoomProxyNoProxy ColorTableSharedTexturePaletteTextureColorTableTextureCubeMapColorTableTexture3DColorTableTexture2DColorTableTexture1DColorTablePostColorMatrixColorTablePostConvolutionColorTableColorTableStageTextureColorTableStagePostColorMatrixColorTableStagePostConvolutionColorTableStagecolorTableStage colorTable getColorTablecopyColorTable colorSubTablecopyColorSubTablecolorTableScalecolorTableBiascolorTableFormatcolorTableWidthcolorTableRGBASizescolorTableLuminanceSizecolorTableIntesitySizeConvolutionBorderModeReplicateBorderConstantBorderReduceConvolutionTarget Separable2D Convolution2D Convolution1D convolutionconvolutionFilter1DgetConvolutionFilter1DconvolutionFilter2DgetConvolutionFilter2DseparableFilter2DgetSeparableFilter2DcopyConvolutionFilter1DcopyConvolutionFilter2DconvolutionWidthconvolutionHeightmaxConvolutionWidthmaxConvolutionHeightconvolutionBorderModeconvolutionFilterScaleconvolutionFilterBias histogram getHistogramresetHistogramhistogramRGBASizeshistogramLuminanceSizeminmax getMinmax resetMinmaxGLpolygonstipplePolygonStipplewithNewPolygonStipplewithPolygonStipplenewPolygonStipplegetPolygonStippleComponents polygonSmoothcullFacepolygonStipple polygonMode polygonOffsetpolygonOffsetPointpolygonOffsetLinepolygonOffsetFill evalPoint1GLmap2Map2 withNewMap2withMap2newMap2getMap2ComponentsGLmap1Map1 withNewMap1withMap1newMap1getMap1Components MapDescriptorOrdermaxOrdermap1map2mapGrid1mapGrid2 evalMesh1 evalMesh2 evalPoint2 autoNormal PixelCopyType CopyStencil CopyDepth CopyColor readPixels readBuffer copyPixels pointSizevertexProgramPointSizepointSizeRangepointDistanceAttenuationpointFadeThresholdSize pointSmooth pointSpritealiasedPointSizeRangesmoothPointSizeRangesmoothPointSizeGranularity CubeMapTargetTextureCubeMapNegativeZTextureCubeMapPositiveZTextureCubeMapNegativeYTextureCubeMapPositiveYTextureCubeMapNegativeXTextureCubeMapPositiveX TextureTargetTextureRectangleTextureCubeMap Texture3D Texture2D Texture1DCompressedPixelDataCompressedTextureFormat TextureSize3D TextureSize2D TextureSize1DTexturePosition3DTexturePosition2DTexturePosition1DBorderLevel texImage1D texImage2D texImage3D getTexImagecopyTexImage1DcopyTexImage2D texSubImage1D texSubImage2D texSubImage3DcopyTexSubImage1DcopyTexSubImage2DcopyTexSubImage3DcompressedTextureFormatscompressedTexImage1DcompressedTexImage2DcompressedTexImage3DgetCompressedTexImagecompressedTexSubImage1DcompressedTexSubImage2DcompressedTexSubImage3Dtexture TextureQuerytextureInternalFormat textureSize1D textureSize2D textureSize3D textureBordertextureRGBASizestextureIntensitySizetextureLuminanceSizetextureIndexSizetextureDepthBitstextureCompressedImageSizetextureProxyOKTextureCompareOperatorGequalRLequalRLODClamping ClampToBorder ClampToEdgeRepeatClamp RepetitionMirroredRepeatedMagnificationFilterMinificationFilter TextureFilterLinear'Nearest textureFiltertextureWrapModetextureBorderColortextureObjectLODBiasmaxTextureLODBiastextureLODRangetextureMaxAnisotropymaxTextureMaxAnisotropytextureLevelRangegenerateMipmapdepthTextureModetextureCompareModetextureCompareFailValuetextureCompareOperatorSrc PrimaryColorConstantCrossbarPrevious CurrentUnitArgArgNumArg3Arg2Arg1Arg0TextureCombineFunctionDot3RGBADot3RGBSubtract Interpolate AddSigned AddUnsigned' Modulate'Replace'TextureFunctionCombine4Combine AddUnsignedReplaceBlendDecalModulatetextureFunction combineRGB combineAlphaargRGBargAlphargbScale alphaScale constantColortextureUnitLODBiasTexturePriority TextureObjecttextureBindingtextureResidentareTexturesResidenttexturePriorityprioritizeTextures gluVersion gluExtensions scaleImagebuild1DMipmapsbuild2DMipmaps perspectiveortho2DlookAt pickMatrixproject unProject unProject4 SimplePolygon Primitive TriangulationTriangleTriangleVertexPolygonContours SimpleContour Tessellator ToleranceCombinerWeightedPropertiesComplexPolygonComplexContourAnnotatedVertex TessWindingTessWindingAbsGeqTwoTessWindingNegativeTessWindingPositiveTessWindingNonzeroTessWindingOddextractContours triangulate tessellateQuadricPrimitive PartialDiskDiskCylinderSphereLoopsStacksSlicesAngleHeightRadius QuadricStyleQuadricTextureGenerateTextureCoordinatesNoTextureCoordinatesQuadricOrientationInsideOutside QuadricNormalQuadricDrawStyleSilhouetteStyle FillStyle LineStyle PointStyle renderQuadric DisplayMode' OutlinePatchOutlinePolygonFill'SamplingMethodObjectParametricErrorObjectPathLengthDomainDistanceParametricError PathLength NURBSMode NURBSRendererNURBSTessellator TrimmingPointNURBSEndCallbackNURBSColorCallbackNURBSNormalCallbackNURBSVertexCallbackNURBSBeginCallbackNURBSObj withNURBSObjwithNURBSBeginCallbackwithNURBSVertexCallbackwithNURBSNormalCallbackwithNURBSColorCallbackwithNURBSEndCallbackcheckForNURBSErrornurbsBeginEndCurve nurbsCurvenurbsBeginEndSurface nurbsSurfacenurbsBeginEndTrimpwlCurve trimmingCurve setNURBSModesetNURBSCullingsetSamplingMethodloadSamplingMatricessetDisplayMode'marshalGLbooleanunmarshalGLbooleanmarshalPrimitiveModeunmarshalPrimitiveMode marshalFace unmarshalFacemarshalDataTypeunmarshalDataTypemarshalPolygonModeunmarshalPolygonMode marshalSink unmarshalSink marshalResetmarshalEdgeFlagunmarshalEdgeFlagunsafeBracket_ finallyRetbaseControl.Exception.Basebracket_brackeths_OpenGL_getProcAddressInvokergetProcAddress throwIfNullGHC.PtrFunPtrGHC.IOunsafePerformIOpoke1poke2poke3poke4peek1peek2peek3peek4 glGetErrorgluErrorString TessError TessError8 TessError1 NurbsError NurbsError37 NurbsError1 GLU_ErrorCodeGLU_InvalidOperationGLU_OutOfMemoryGLU_InvalidValueGLU_InvalidEnum GL_ErrorCodeGL_TableTooLargeGL_OutOfMemoryGL_StackUnderflowGL_StackOverflowGL_InvalidOperationGL_InvalidValueGL_InvalidEnum GL_NoErrorgl_marshalErrorCodeglu_marshalErrorCodemarshalNurbsErrormarshalTessErrorunmarshalErrorCategory isInvalidEnumisInvalidValue isOutOfMemoryisInvalidOperationisStackOverflowisStackUnderflowisTableTooLargeisTesselatorError isNURBSError makeErrortheRecordedErrorsgetRecordedErrorssetRecordedErrors getGLErrorsisError getErrorsrecordErrorCoderecordInvalidEnumrecordInvalidValuerecordOutOfMemorygetErrorCodesAux glGetDoublev glGetFloatv glGetIntegerv glGetBooleanvGetPNameGetDrawBufferNGetPixelUnpackBufferBindingGetPixelPackBufferBindingGetCurrentProgramGetMaxVertexUniformComponentsGetMaxVertexTextureImageUnitsGetMaxVertexAttribsGetMaxVaryingFloatsGetMaxTextureImageUnitsGetMaxTextureCoordsGetMaxFragmentUniformComponentsGetMaxDrawBuffersGetMaxCombinedTextureImageUnitsGetCurrentMatrixStackDepthGetCurrentMatrixGetTextureBindingRectangleGetTextureBindingCubeMapGetFogCoordArrayBufferBinding#GetSecondaryColorArrayBufferBindingGetEdgeFlagArrayBufferBinding!GetTextureCoordArrayBufferBindingGetIndexArrayBufferBindingGetColorArrayBufferBindingGetNormalArrayBufferBindingGetVertexArrayBufferBindingGetElementArrayBufferBindingGetArrayBufferBindingGetActiveStencilFaceGetPrimitiveRestartIndexGetDepthBoundsGetFogDistanceModeGetMaxSpotExponentGetMaxShininessGetArrayElementLockCountGetArrayElementLockFirstGetUnpackCMYKHintGetPackCMYKHintGetBlendSrcAlphaGetBlendDstAlphaGetBlendSrcRGBGetBlendDstRGBGetCurrentPaletteMatrixGetMaxPaletteMatricesGetMaxMatrixPaletteStackDepthGetMatrixPaletteGetWeightArrayGetWeightArraySizeGetWeightArrayStrideGetWeightArrayTypeGetCurrentWeight GetModelviewGetVertexBlendGetWeightSumUnityGetActiveVertexUnitsGetMaxVertexUnitsGetCompressedTextureFormatsGetNumCompressedTextureFormatsGetMaxCubeMapTextureSizeGetTextureCubeMapGetMaxTextureUnitsGetClientActiveTextureGetActiveTextureGetMaxElementsIndicesGetMaxElementsVerticesGetPostColorMatrixAlphaBiasGetPostColorMatrixBlueBiasGetPostColorMatrixGreenBiasGetPostColorMatrixRedBiasGetPostColorMatrixAlphaScaleGetPostColorMatrixBlueScaleGetPostColorMatrixGreenScaleGetPostColorMatrixRedScaleGetMaxColorMatrixStackDepthGetColorMatrixStackDepthGetColorMatrixGetPointDistanceAttenuationGetPointFadeThresholdSizeGetPointSizeMaxGetPointSizeMinGetSampleCoverageInvertGetSampleCoverageValue GetSamplesGetSampleBuffersGetSampleCoverageGetSampleAlphaToOneGetSampleAlphaToCoverageGetMultisampleGetMaxTextureMaxAnisotropyGetMaxTextureLODBiasGetMax3DTextureSize GetTexture3DGetUnpackImageHeightGetUnpackSkipImagesGetPackImageHeightGetPackSkipImagesGetTexture3DBindingGetSharedTexturePaletteGetRescaleNormalGetCurrentSecondaryColor GetColorSum GetMinmax GetHistogramGetPostConvolutionAlphaBiasGetPostConvolutionBlueBiasGetPostConvolutionGreenBiasGetPostConvolutionRedBiasGetPostConvolutionAlphaScaleGetPostConvolutionBlueScaleGetPostConvolutionGreenScaleGetPostConvolutionRedScaleGetMaxConvolutionHeightGetMaxConvolutionWidthGetSeparable2DGetConvolution2DGetConvolution1DGetPostColorMatrixColorTableGetPostConvolutionColorTable GetColorTableGetBlendEquationAlphaGetBlendEquation GetBlendColorGetLightModelColorControlGetTransposeColorMatrixGetTransposeTextureMatrixGetTransposeProjectionMatrixGetTransposeModelviewMatrixGetLight GetClipPlaneGetMatrixIndexArrayStrideGetMatrixIndexArrayTypeGetMatrixIndexArraySizeGetSecondaryColorArrayStrideGetSecondaryColorArrayTypeGetSecondaryColorArraySizeGetFogCoordArrayStrideGetFogCoordArrayTypeGetEdgeFlagArrayStrideGetTextureCoordArrayStrideGetTextureCoordArrayTypeGetTextureCoordArraySizeGetIndexArrayStrideGetIndexArrayTypeGetColorArrayStrideGetColorArrayTypeGetColorArraySizeGetNormalArrayStrideGetNormalArrayTypeGetVertexArrayStrideGetVertexArrayTypeGetVertexArraySizeGetMatrixIndexArrayGetSecondaryColorArrayGetFogCoordArrayGetEdgeFlagArrayGetTextureCoordArray GetIndexArray GetColorArrayGetNormalArrayGetVertexArrayGetTextureBinding3DGetTextureBinding2DGetTextureBinding1DGetPolygonOffsetFactorGetPolygonOffsetFillGetPolygonOffsetLineGetPolygonOffsetPointGetPolygonOffsetUnitsGetSelectionBufferSizeGetFeedbackBufferTypeGetFeedbackBufferSize GetTexture2D GetTexture1DGetMap2GridSegmentsGetMap2GridDomainGetMap1GridSegmentsGetMap1GridDomainGetMap2Vertex4GetMap2Vertex3GetMap2TextureCoord4GetMap2TextureCoord3GetMap2TextureCoord2GetMap2TextureCoord1 GetMap2Normal GetMap2Index GetMap2Color4GetMap1Vertex4GetMap1Vertex3GetMap1TextureCoord4GetMap1TextureCoord3GetMap1TextureCoord2GetMap1TextureCoord1 GetMap1Normal GetMap1Index GetMap1Color4 GetAutoNormalGetNameStackDepthGetAccumAlphaBitsGetAccumBlueBitsGetAccumGreenBitsGetAccumRedBitsGetStencilBits GetDepthBits GetAlphaBits GetBlueBits GetGreenBits GetRedBits GetIndexBitsGetSubpixelBitsGetMaxClientAttribStackDepthGetMaxViewportDimsGetMaxTextureStackDepthGetMaxProjectionStackDepthGetMaxNameStackDepthGetMaxModelviewStackDepthGetMaxAttribStackDepthGetMaxPixelMapTableGetMaxTextureSizeGetMaxClipPlanes GetMaxLightsGetMaxEvalOrder GetDepthBias GetDepthScale GetAlphaBias GetAlphaScale GetBlueBias GetBlueScale GetGreenBias GetGreenScaleGetZoomYGetZoomX GetRedBias GetRedScaleGetIndexOffset GetIndexShift GetMapStencil GetMapColorGetPackAlignmentGetPackSkipPixelsGetPackSkipRowsGetPackRowLengthGetPackLSBFirstGetPackSwapBytesGetUnpackAlignmentGetUnpackSkipPixelsGetUnpackSkipRowsGetUnpackRowLengthGetUnpackLSBFirstGetUnpackSwapBytesGetPixelMapAToASizeGetPixelMapBToBSizeGetPixelMapGToGSizeGetPixelMapRToRSizeGetPixelMapIToASizeGetPixelMapIToBSizeGetPixelMapIToGSizeGetPixelMapIToRSizeGetPixelMapSToSSizeGetPixelMapIToISizeGetTextureGenQGetTextureGenRGetTextureGenTGetTextureGenSGetTextureCompressionHintGetGenerateMipmapHint GetFogHintGetPolygonSmoothHintGetLineSmoothHintGetPointSmoothHintGetPerspectiveCorrectionHint GetRenderMode GetStereoGetDoublebuffer GetRGBAMode GetIndexModeGetColorWritemaskGetColorClearValueGetIndexWritemaskGetIndexClearValueGetScissorTest GetScissorBox GetReadBuffer GetDrawBuffer GetAuxBuffersGetColorLogicOp GetLogicOpGetIndexLogicOpGetLogicOpModeGetBlend GetBlendSrc GetBlendDst GetDitherGetAlphaTestRefGetAlphaTestFunc GetAlphaTestGetClientAttribStackDepthGetAttribStackDepthGetTextureMatrixGetProjectionMatrixGetModelviewMatrixGetTextureStackDepthGetProjectionStackDepthGetModelviewStackDepth GetViewport GetNormalize GetMatrixModeGetStencilWritemask GetStencilRefGetStencilPassDepthPassGetStencilPassDepthFailGetStencilFailGetStencilValueMaskGetStencilFuncGetStencilClearValueGetStencilTestGetAccumClearValue GetDepthFuncGetDepthClearValueGetDepthWritemask GetDepthTest GetDepthRangeGetCurrentFogCoordGetFogCoordSrc GetFogColor GetFogMode GetFogEnd GetFogStart GetFogDensity GetFogIndexGetFogGetColorMaterialGetColorMaterialParameterGetColorMaterialFace GetShadeModelGetLightModelAmbientGetLightModelTwoSideGetLightModelLocalViewer GetLighting GetFrontFaceGetCullFaceMode GetCullFace GetEdgeFlagGetPolygonStippleGetPolygonSmoothGetPolygonMode GetListIndex GetListBaseGetMaxListNesting GetListModeGetAliasedLineWidthRangeGetAliasedPointSizeRangeGetSmoothLineWidthGranularityGetSmoothLineWidthRangeGetSmoothPointSizeGranularityGetSmoothPointSizeRangeGetLineStippleRepeatGetLineStipplePatternGetLineStippleGetLineWidthGranularityGetLineWidthRange GetLineWidth GetLineSmoothGetPointSizeGranularityGetPointSizeRange GetPointSizeGetPointSmoothGetCurrentMatrixIndexGetCurrentRasterDistanceGetCurrentRasterPositionValidGetCurrentRasterPositionGetCurrentRasterTextureCoordsGetCurrentRasterIndexGetCurrentRasterSecondaryColorGetCurrentRasterColorGetCurrentTextureCoordsGetCurrentNormalGetCurrentIndexGetCurrentColormarshalGetPNameclipPlaneIndexToEnumlightIndexToEnummodelviewIndexToEnummodelviewEnumToIndexdrawBufferIndexToEnum getBoolean1 getBoolean4 getBooleanv makeGetter getInteger1 getInteger2 getInteger4 getIntegervgetEnum1 getSizei1 getFloat1 getFloat2 getFloat3 getFloat4 getFloatv getDouble1 getDouble2 getDouble4 getDoublevglEnable glDisable glIsEnabled EnableCapCapVertexProgramTwoSideCapVertexProgramPointSizeCapTextureColorTableCapRasterPositionUnclippedCapStencilTestTwoSideCapPointSpriteCapPrimitiveRestartCapDepthBoundsTest CapDepthClampCapMatrixPaletteCapWeightArrayCapVertexBlendCapWeightSumUnityCapTextureCubeMap CapColorSumCapPostColorMatrixColorTableCapPostConvolutionColorTable CapColorTableCapSampleCoverageCapSampleAlphaToOneCapSampleAlphaToCoverageCapMultisample CapTexture3DCapSharedTexturePaletteCapRescaleNormal CapMinmax CapHistogramCapSeparable2DCapConvolution2DCapConvolution1DCapMatrixIndexArrayCapSecondaryColorArrayCapFogCoordArrayCapEdgeFlagArrayCapTextureCoordArray CapIndexArray CapColorArrayCapNormalArrayCapVertexArrayCapPolygonOffsetFillCapPolygonOffsetLineCapPolygonOffsetPoint CapAutoNormal CapNormalizeCapColorMaterialCapScissorTestCapPolygonSmooth CapLineSmoothCapPointSmoothCapMap2TextureCoord4CapMap2TextureCoord3CapMap2TextureCoord2CapMap2TextureCoord1 CapMap2Normal CapMap2Index CapMap2Color4CapMap2Vertex4CapMap2Vertex3CapMap1TextureCoord4CapMap1TextureCoord3CapMap1TextureCoord2CapMap1TextureCoord1 CapMap1Normal CapMap1Index CapMap1Color4CapMap1Vertex4CapMap1Vertex3CapTextureGenQCapTextureGenRCapTextureGenTCapTextureGenSCapLight CapClipPlane CapDepthTestCapStencilTest CapDitherCapColorLogicOpCapIndexLogicOpCapBlend CapAlphaTest CapCullFaceCapPolygonStippleCapLineStipple CapTexture2D CapTexture1D CapLightingCapFogmarshalCapabilityunmarshalCapabilitymarshalEnableCapmakeCapability isEnabledenablemakeStateVarMaybegetStateVarMaybesetStateVarMaybeantialiasingInfo glEdgeFlagdyn_glPrimitiveRestartNVglEndglBegin renderPrimglPrimitiveRestartNVptr_glPrimitiveRestartNVmarshalTextureUnitunmarshalTextureUnitdyn_glVertexAttrib4Nubdyn_glVertexAttrib4Nsvdyn_glVertexAttrib4Nuivdyn_glVertexAttrib4Nivdyn_glVertexAttrib4Nusvdyn_glVertexAttrib4Nubvdyn_glVertexAttrib4Nbvdyn_glVertexAttrib4uivdyn_glVertexAttrib4ivdyn_glVertexAttrib4usvdyn_glVertexAttrib4ubvdyn_glVertexAttrib4bvdyn_glVertexAttrib4dvdyn_glVertexAttrib3dvdyn_glVertexAttrib2dvdyn_glVertexAttrib1dvdyn_glVertexAttrib4ddyn_glVertexAttrib3ddyn_glVertexAttrib2ddyn_glVertexAttrib1ddyn_glVertexAttrib4fvdyn_glVertexAttrib3fvdyn_glVertexAttrib2fvdyn_glVertexAttrib1fvdyn_glVertexAttrib4fdyn_glVertexAttrib3fdyn_glVertexAttrib2fdyn_glVertexAttrib1fdyn_glVertexAttrib4svdyn_glVertexAttrib3svdyn_glVertexAttrib2svdyn_glVertexAttrib1svdyn_glVertexAttrib4sdyn_glVertexAttrib3sdyn_glVertexAttrib2sdyn_glVertexAttrib1sdyn_glGetVertexAttribivdyn_glGetVertexAttribfvdyn_glGetVertexAttribdv glIndexubv glIndexub glIndexdvglIndexd glIndexfvglIndexf glIndexivglIndexi glIndexsvglIndexsdyn_glSecondaryColor3uivEXTdyn_glSecondaryColor3uiEXT glColor4uiv glColor3uiv glColor4ui glColor3uidyn_glSecondaryColor3usvEXTdyn_glSecondaryColor3usEXT glColor4usv glColor3usv glColor4us glColor3usdyn_glSecondaryColor3ubvEXTdyn_glSecondaryColor3ubEXT glColor4ubv glColor3ubv glColor4ub glColor3ubdyn_glSecondaryColor3dvEXTdyn_glSecondaryColor3dEXT glColor4dv glColor3dv glColor4d glColor3ddyn_glSecondaryColor3fvEXTdyn_glSecondaryColor3fEXT glColor4fv glColor3fv glColor4f glColor3fdyn_glSecondaryColor3ivEXTdyn_glSecondaryColor3iEXT glColor4iv glColor3iv glColor4i glColor3idyn_glSecondaryColor3svEXTdyn_glSecondaryColor3sEXT glColor4sv glColor3sv glColor4s glColor3sdyn_glSecondaryColor3bvEXTdyn_glSecondaryColor3bEXT glColor4bv glColor3bv glColor4b glColor3bdyn_glFogCoorddvEXTdyn_glFogCoorddEXTdyn_glFogCoordfvEXTdyn_glFogCoordfEXT glNormal3dv glNormal3d glNormal3fv glNormal3f glNormal3iv glNormal3i glNormal3sv glNormal3s glNormal3bv glNormal3bdyn_glMultiTexCoord4dvARBdyn_glMultiTexCoord3dvARBdyn_glMultiTexCoord2dvARBdyn_glMultiTexCoord1dvARBdyn_glMultiTexCoord4dARBdyn_glMultiTexCoord3dARBdyn_glMultiTexCoord2dARBdyn_glMultiTexCoord1dARB glTexCoord4dv glTexCoord3dv glTexCoord2dv glTexCoord1dv glTexCoord4d glTexCoord3d glTexCoord2d glTexCoord1ddyn_glMultiTexCoord4fvARBdyn_glMultiTexCoord3fvARBdyn_glMultiTexCoord2fvARBdyn_glMultiTexCoord1fvARBdyn_glMultiTexCoord4fARBdyn_glMultiTexCoord3fARBdyn_glMultiTexCoord2fARBdyn_glMultiTexCoord1fARB glTexCoord4fv glTexCoord3fv glTexCoord2fv glTexCoord1fv glTexCoord4f glTexCoord3f glTexCoord2f glTexCoord1fdyn_glMultiTexCoord4ivARBdyn_glMultiTexCoord3ivARBdyn_glMultiTexCoord2ivARBdyn_glMultiTexCoord1ivARBdyn_glMultiTexCoord4iARBdyn_glMultiTexCoord3iARBdyn_glMultiTexCoord2iARBdyn_glMultiTexCoord1iARB glTexCoord4iv glTexCoord3iv glTexCoord2iv glTexCoord1iv glTexCoord4i glTexCoord3i glTexCoord2i glTexCoord1idyn_glMultiTexCoord4svARBdyn_glMultiTexCoord3svARBdyn_glMultiTexCoord2svARBdyn_glMultiTexCoord1svARBdyn_glMultiTexCoord4sARBdyn_glMultiTexCoord3sARBdyn_glMultiTexCoord2sARBdyn_glMultiTexCoord1sARB glTexCoord4sv glTexCoord3sv glTexCoord2sv glTexCoord1sv glTexCoord4s glTexCoord3s glTexCoord2s glTexCoord1s glVertex4dv glVertex3dv glVertex2dv glVertex4d glVertex3d glVertex2d glVertex4fv glVertex3fv glVertex2fv glVertex4f glVertex3f glVertex2f glVertex4iv glVertex3iv glVertex2iv glVertex4i glVertex3i glVertex2i glVertex4sv glVertex3sv glVertex2sv glVertex4s glVertex3s glVertex2s vertexAttrib vertexAttribvindex1index1vcolor3color4color3vcolor4vsecondaryColor3secondaryColor3v fogCoord1 fogCoord1vnormal3normal3v texCoord1 texCoord2 texCoord3 texCoord4 texCoord1v texCoord2v texCoord3v texCoord4vmultiTexCoord1multiTexCoord2multiTexCoord3multiTexCoord4multiTexCoord1vmultiTexCoord2vmultiTexCoord3vmultiTexCoord4vvertex2vertex3vertex4vertex2vvertex3vvertex4vglMultiTexCoord1sARBptr_glMultiTexCoord1sARBglMultiTexCoord2sARBptr_glMultiTexCoord2sARBglMultiTexCoord3sARBptr_glMultiTexCoord3sARBglMultiTexCoord4sARBptr_glMultiTexCoord4sARBglMultiTexCoord1svARBptr_glMultiTexCoord1svARBglMultiTexCoord2svARBptr_glMultiTexCoord2svARBglMultiTexCoord3svARBptr_glMultiTexCoord3svARBglMultiTexCoord4svARBptr_glMultiTexCoord4svARBglMultiTexCoord1iARBptr_glMultiTexCoord1iARBglMultiTexCoord2iARBptr_glMultiTexCoord2iARBglMultiTexCoord3iARBptr_glMultiTexCoord3iARBglMultiTexCoord4iARBptr_glMultiTexCoord4iARBglMultiTexCoord1ivARBptr_glMultiTexCoord1ivARBglMultiTexCoord2ivARBptr_glMultiTexCoord2ivARBglMultiTexCoord3ivARBptr_glMultiTexCoord3ivARBglMultiTexCoord4ivARBptr_glMultiTexCoord4ivARBglMultiTexCoord1fARBptr_glMultiTexCoord1fARBglMultiTexCoord2fARBptr_glMultiTexCoord2fARBglMultiTexCoord3fARBptr_glMultiTexCoord3fARBglMultiTexCoord4fARBptr_glMultiTexCoord4fARBglMultiTexCoord1fvARBptr_glMultiTexCoord1fvARBglMultiTexCoord2fvARBptr_glMultiTexCoord2fvARBglMultiTexCoord3fvARBptr_glMultiTexCoord3fvARBglMultiTexCoord4fvARBptr_glMultiTexCoord4fvARBglMultiTexCoord1dARBptr_glMultiTexCoord1dARBglMultiTexCoord2dARBptr_glMultiTexCoord2dARBglMultiTexCoord3dARBptr_glMultiTexCoord3dARBglMultiTexCoord4dARBptr_glMultiTexCoord4dARBglMultiTexCoord1dvARBptr_glMultiTexCoord1dvARBglMultiTexCoord2dvARBptr_glMultiTexCoord2dvARBglMultiTexCoord3dvARBptr_glMultiTexCoord3dvARBglMultiTexCoord4dvARBptr_glMultiTexCoord4dvARBglFogCoordfEXTptr_glFogCoordfEXTglFogCoordfvEXTptr_glFogCoordfvEXTglFogCoorddEXTptr_glFogCoorddEXTglFogCoorddvEXTptr_glFogCoorddvEXTghc-primGHC.BoolTrueFalseglSecondaryColor3bEXTptr_glSecondaryColor3bEXTglSecondaryColor3bvEXTptr_glSecondaryColor3bvEXTglSecondaryColor3sEXTptr_glSecondaryColor3sEXTglSecondaryColor3svEXTptr_glSecondaryColor3svEXTglSecondaryColor3iEXTptr_glSecondaryColor3iEXTglSecondaryColor3ivEXTptr_glSecondaryColor3ivEXTglSecondaryColor3fEXTptr_glSecondaryColor3fEXTglSecondaryColor3fvEXTptr_glSecondaryColor3fvEXTglSecondaryColor3dEXTptr_glSecondaryColor3dEXTglSecondaryColor3dvEXTptr_glSecondaryColor3dvEXTglSecondaryColor3ubEXTptr_glSecondaryColor3ubEXTglSecondaryColor3ubvEXTptr_glSecondaryColor3ubvEXTglSecondaryColor3usEXTptr_glSecondaryColor3usEXTglSecondaryColor3usvEXTptr_glSecondaryColor3usvEXTglSecondaryColor3uiEXTptr_glSecondaryColor3uiEXTglSecondaryColor3uivEXTptr_glSecondaryColor3uivEXTglGetVertexAttribdvptr_glGetVertexAttribdvglGetVertexAttribfvptr_glGetVertexAttribfvglGetVertexAttribivptr_glGetVertexAttribivglVertexAttrib1sptr_glVertexAttrib1sglVertexAttrib2sptr_glVertexAttrib2sglVertexAttrib3sptr_glVertexAttrib3sglVertexAttrib4sptr_glVertexAttrib4sglVertexAttrib1svptr_glVertexAttrib1svglVertexAttrib2svptr_glVertexAttrib2svglVertexAttrib3svptr_glVertexAttrib3svglVertexAttrib4svptr_glVertexAttrib4svglVertexAttrib1fptr_glVertexAttrib1fglVertexAttrib2fptr_glVertexAttrib2fglVertexAttrib3fptr_glVertexAttrib3fglVertexAttrib4fptr_glVertexAttrib4fglVertexAttrib1fvptr_glVertexAttrib1fvglVertexAttrib2fvptr_glVertexAttrib2fvglVertexAttrib3fvptr_glVertexAttrib3fvglVertexAttrib4fvptr_glVertexAttrib4fvglVertexAttrib1dptr_glVertexAttrib1dglVertexAttrib2dptr_glVertexAttrib2dglVertexAttrib3dptr_glVertexAttrib3dglVertexAttrib4dptr_glVertexAttrib4dglVertexAttrib1dvptr_glVertexAttrib1dvglVertexAttrib2dvptr_glVertexAttrib2dvglVertexAttrib3dvptr_glVertexAttrib3dvglVertexAttrib4dvptr_glVertexAttrib4dvglVertexAttrib4bvptr_glVertexAttrib4bvglVertexAttrib4ubvptr_glVertexAttrib4ubvglVertexAttrib4usvptr_glVertexAttrib4usvglVertexAttrib4ivptr_glVertexAttrib4ivglVertexAttrib4uivptr_glVertexAttrib4uivglVertexAttrib4Nbvptr_glVertexAttrib4NbvglVertexAttrib4Nubvptr_glVertexAttrib4NubvglVertexAttrib4Nusvptr_glVertexAttrib4NusvglVertexAttrib4Nivptr_glVertexAttrib4NivglVertexAttrib4Nuivptr_glVertexAttrib4NuivglVertexAttrib4Nsvptr_glVertexAttrib4NsvglVertexAttrib4Nubptr_glVertexAttrib4Nub glTexGendv glGetTexGendv glTexGeni glGetTexGeniv glPopMatrix glPushMatrixdyn_glActiveTextureARBglScaledglScalef glTranslated glTranslatef glRotated glRotatefdyn_glMultTransposeMatrixdARBdyn_glMultTransposeMatrixfARB glMultMatrixd glMultMatrixfdyn_glLoadTransposeMatrixdARBdyn_glLoadTransposeMatrixfARB glLoadMatrixd glLoadMatrixf glMatrixMode glViewport glDepthRangeTextureGenMode'ReflectionMap' NormalMap' SphereMap' ObjectLinear' EyeLinear'TextureGenParameterEyePlane ObjectPlane getMatrix loadMatrixloadTransposeMatrix multMatrix_multTransposeMatrixmarshalMatrixModeunmarshalMatrixModematrixModeToGetMatrixmatrixModeToGetStackDepthmatrixModeToGetMaxStackDepthglLoadTransposeMatrixfARBptr_glLoadTransposeMatrixfARBglLoadTransposeMatrixdARBptr_glLoadTransposeMatrixdARBglMultTransposeMatrixfARBptr_glMultTransposeMatrixfARBglMultTransposeMatrixdARBptr_glMultTransposeMatrixdARBwithMatrixMode getMatrix' setMatrixglActiveTextureARBptr_glActiveTextureARBpreservingMatrixModemarshalTextureCoordNamemarshalTextureGenParametermarshalTextureGenMode'unmarshalTextureGenMode'marshalTextureGenModetextureCoordNameToEnableCapgetModesetModegetPlanesetPlaneglBitmap glClipPlane glShadeModelglColorMaterial glLightModeliglLightModelfv glGetLightfv glLightfv glGetLightfvn glLightfvn glGetLightfvv glLightfvv glLightfvc glGetLightfvc glMaterialivglGetMaterialiv glMaterialffglGetMaterialfvf glMaterialfvcglGetMaterialfvc glFrontFaceLightModelParameterLightModelTwoSideLightModelLocalViewerLightModelAmbientLightParameterQuadraticAttenuationLinearAttenuationConstantAttenuation SpotCutoff SpotExponent SpotDirection Specular'Diffuse'Ambient'MaterialParameterMaterialSpecularMaterialDiffuseMaterialAmbientMaterialColorIndexesMaterialAmbientAndDiffuseMaterialShininessMaterialEmission marshalLightmarshalFrontFaceDirectionunmarshalFrontFaceDirectionmarshalMaterialParametermakeMaterialVargetMaterialColorIndexessetMaterialColorIndexesmarshalLightParameterblack makeLightVarconstantAttenuationlinearAttenuationquadraticAttenuationmarshalLightModelParametermakeLightModelCapVarmarshalLightModelColorControlunmarshalLightModelColorControlmarshalColorMaterialParameterunmarshalColorMaterialParametermarshalShadingModelunmarshalShadingModel glGetPointervdyn_glPrimitiveRestartIndexNVdyn_glUnlockArraysEXTdyn_glLockArraysEXTdyn_glDrawRangeElementsEXTdyn_glMultiDrawElementsEXTglDrawElementsdyn_glMultiDrawArraysEXT glDrawArraysglArrayElementdyn_glClientActiveTextureARBglDisableClientStateglEnableClientStateglInterleavedArraysdyn_glGetVertexAttribPointervdyn_glEnableVertexAttribArraydyn_glDisableVertexAttribArraydyn_glVertexAttribPointerdyn_glSecondaryColorPointerEXTdyn_glFogCoordPointerEXTglEdgeFlagPointerglTexCoordPointerglIndexPointerglColorPointerglNormalPointerglVertexPointerGetPointervPNameMatrixIndexArrayPointerWeightArrayPointerSelectionBufferPointerFeedbackBufferPointerSecondaryColorArrayPointerFogCoordArrayPointerEdgeFlagArrayPointerTextureCoordArrayPointerIndexArrayPointerColorArrayPointerNormalArrayPointerVertexArrayPointernoVertexArrayDescriptormarshalClientArrayTypeclientArrayTypeToEnableCapcheck vertexPointergetVertexPointersetVertexPointer normalPointergetNormalPointersetNormalPointer colorPointergetColorPointersetColorPointer indexPointergetIndexPointersetIndexPointertexCoordPointergetTexCoordPointersetTexCoordPointeredgeFlagPointergetEdgeFlagPointersetEdgeFlagPointerfogCoordPointergetFogCoordPointersetFogCoordPointerglFogCoordPointerEXTptr_glFogCoordPointerEXTsecondaryColorPointergetSecondaryColorPointersetSecondaryColorPointerglSecondaryColorPointerEXTptr_glSecondaryColorPointerEXTglVertexAttribPointerptr_glVertexAttribPointerglDisableVertexAttribArrayptr_glDisableVertexAttribArrayglEnableVertexAttribArrayptr_glEnableVertexAttribArrayglGetVertexAttribPointervptr_glGetVertexAttribPointervmarshalInterleavedArraysgetClientStatesetClientStateglClientActiveTextureARBptr_glClientActiveTextureARBglMultiDrawArraysEXTptr_glMultiDrawArraysEXTglMultiDrawElementsEXTptr_glMultiDrawElementsEXTglDrawRangeElementsEXTptr_glDrawRangeElementsEXT getLockArrays setLockArraysglLockArraysEXTptr_glLockArraysEXTglUnlockArraysEXTptr_glUnlockArraysEXTgetPrimitiverestartIndexsetPrimitiverestartIndexglPrimitiveRestartIndexNVptr_glPrimitiveRestartIndexNVmarshalGetPointervPName getPointerdyn_glUnmapBufferARBdyn_glMapBufferARBdyn_glGetBufferPointervARBdyn_glGetBufferParameterivARBdyn_glGetBufferSubDataARBdyn_glBufferSubDataARBdyn_glBufferDataARBdyn_glBindBufferARBdyn_glIsBufferARBdyn_glDeleteBuffersARBdyn_glGenBuffersARBGetBufferPNameGetBufferMappedGetBufferAccessGetBufferUsage GetBufferSizebufferIDglGenBuffersARBptr_glGenBuffersARBglDeleteBuffersARBptr_glDeleteBuffersARB glIsBufferARBptr_glIsBufferARBmarshalBufferTargetbufferTargetToGetPNamemarshalBufferUsageunmarshalBufferUsagemarshalBufferAccessunmarshalBufferAccess getBindBuffer bufferQuerynoBufferObject setBindBufferglBindBufferARBptr_glBindBufferARBclientArrayTypeToGetPName getBufferData setBufferDataglBufferDataARBptr_glBufferDataARBglBufferSubDataARBptr_glBufferSubDataARBglGetBufferSubDataARBptr_glGetBufferSubDataARBmarshalGetBufferPNamegetBufferParameterglGetBufferParameterivARBptr_glGetBufferParameterivARBgetBufferPointerglGetBufferPointervARBptr_glGetBufferPointervARBglMapBufferARBptr_glMapBufferARBglUnmapBufferARBptr_glUnmapBufferARB glListBase glCallLists glEndList glNewListglIsList glDeleteLists glGenLists genLists_ deleteLists_combineConsecutiveisList_marshalListModeunmarshalListMode noDisplayList glMapGrid2d glMapGrid1dglEvalCoord2dv glEvalCoord2dglEvalCoord1dv glEvalCoord1d glGetMapdvglMap2dglMap1d glMapGrid2f glMapGrid1fglEvalCoord2fv glEvalCoord2fglEvalCoord1fv glEvalCoord1f glGetMapfvglMap2fglMap1fglMap1glMap2 glGetMapv glMapGrid1 glMapGrid2get2get4 MapTarget Map2Vertex4 Map2Vertex3Map2TextureCoord4Map2TextureCoord3Map2TextureCoord2Map2TextureCoord1 Map2Normal Map2Index Map2Color4 Map1Vertex4 Map1Vertex3Map1TextureCoord4Map1TextureCoord3Map1TextureCoord2Map1TextureCoord1 Map1Normal Map1Index Map1Color4 map1Target map2Target enableCap1 enableCap2 numComponentspeekControlPointpokeControlPointmarshalMapTargetIOState runIOState getIOState putIOState peekIOState liftIOState evalIOStatenTimes glRenderModemarshalRenderModeunmarshalRenderModewithRenderMode setRenderMode glPushName glPopNameglSelectBuffer glInitNamesParserparseSelectionBufferparseSelectionHit parseGLuint parseGLfloat parseNameglFeedbackBuffer FeedbackTagPassThroughTag CopyPixelTag DrawPixelTag BitmapTag PolygonTag LineResetTagLineTagPointTagunmarshalFeedbackTagmarshalFeedbackTypeparseFeedbackBuffer tokenParsercalcInfoParser parseVertex2 parseVertex3 parseVertex4calcColorParser parseIndex1 parseColor4parseTexCoord4parsePassThroughValue parseGLenum parseGLintglFogfvglFogfglFogiFogMode'Exp2'Exp' FogParameterFogColorFogEndFogStart FogDensityFogIndexmarshalFogParametermarshalFogMode'unmarshalFogMode' getFogMode setFogModefogifogffogfvmarshalFogCoordSrcunmarshalFogCoordSrcmarshalFogDistanceModeunmarshalFogDistanceModemarshalBufferModeunmarshalBufferModeglAccum glClearAccumglClearStencil glClearDepth glClearIndex glClearColorglCleardyn_glStencilMaskSeparate glStencilMask glDepthMask glColorMask glIndexMaskdyn_glDrawBuffers glDrawBuffergetDrawBufferssetDrawBuffers glDrawBuffersptr_glDrawBuffersglStencilMaskSeparateptr_glStencilMaskSeparatemarshalClearBuffermarshalAccumOpglHintmarshalHintTargethintTargetToGetPNamemarshalHintModeunmarshalHintModeglRectdvglRectdglRectfvglRectfglRectivglRectiglRectsvglRectsdyn_glWindowPos3dvARBdyn_glWindowPos2dvARBdyn_glWindowPos3dARBdyn_glWindowPos2dARBdyn_glWindowPos3fvARBdyn_glWindowPos2fvARBdyn_glWindowPos3fARBdyn_glWindowPos2fARBdyn_glWindowPos3ivARBdyn_glWindowPos2ivARBdyn_glWindowPos3iARBdyn_glWindowPos2iARBdyn_glWindowPos3svARBdyn_glWindowPos2svARBdyn_glWindowPos3sARBdyn_glWindowPos2sARBglRasterPos4dvglRasterPos3dvglRasterPos2dv glRasterPos4d glRasterPos3d glRasterPos2dglRasterPos4fvglRasterPos3fvglRasterPos2fv glRasterPos4f glRasterPos3f glRasterPos2fglRasterPos4ivglRasterPos3ivglRasterPos2iv glRasterPos4i glRasterPos3i glRasterPos2iglRasterPos4svglRasterPos3svglRasterPos2sv glRasterPos4s glRasterPos3s glRasterPos2s windowPos2 windowPos3 windowPos2v windowPos3v rasterPos2 rasterPos3 rasterPos4 rasterPos2v rasterPos3v rasterPos4vglWindowPos2sARBptr_glWindowPos2sARBglWindowPos3sARBptr_glWindowPos3sARBglWindowPos2svARBptr_glWindowPos2svARBglWindowPos3svARBptr_glWindowPos3svARBglWindowPos2iARBptr_glWindowPos2iARBglWindowPos3iARBptr_glWindowPos3iARBglWindowPos2ivARBptr_glWindowPos2ivARBglWindowPos3ivARBptr_glWindowPos3ivARBglWindowPos2fARBptr_glWindowPos2fARBglWindowPos3fARBptr_glWindowPos3fARBglWindowPos2fvARBptr_glWindowPos2fvARBglWindowPos3fvARBptr_glWindowPos3fvARBglWindowPos2dARBptr_glWindowPos2dARBglWindowPos3dARBptr_glWindowPos3dARBglWindowPos2dvARBptr_glWindowPos2dvARBglWindowPos3dvARBptr_glWindowPos3dvARBdyn_glUniformMatrix4x3fvdyn_glUniformMatrix3x4fvdyn_glUniformMatrix4x2fvdyn_glUniformMatrix2x4fvdyn_glUniformMatrix3x2fvdyn_glUniformMatrix2x3fvdyn_glUniformMatrix4fvdyn_glUniformMatrix3fvdyn_glUniformMatrix2fvdyn_glUniform4fvdyn_glUniform3fvdyn_glUniform2fvdyn_glUniform1fvdyn_glGetUniformfvdyn_glUniform4fdyn_glUniform3fdyn_glUniform2fdyn_glUniform1fdyn_glUniform4ivdyn_glUniform3ivdyn_glUniform2ivdyn_glUniform1ivdyn_glGetUniformivdyn_glUniform4idyn_glUniform3idyn_glUniform2idyn_glUniform1idyn_glGetActiveUniformdyn_glGetUniformLocationdyn_glGetActiveAttribdyn_glBindAttribLocationdyn_glGetAttribLocationdyn_glGetProgramivdyn_glGetProgramInfoLogdyn_glValidateProgramdyn_glUseProgramdyn_glLinkProgramdyn_glDetachShaderdyn_glAttachShaderdyn_glGetAttachedShadersdyn_glIsProgramdyn_glDeleteProgramdyn_glCreateProgramdyn_glGetShaderivdyn_glGetShaderInfoLogdyn_glGetShaderSourcedyn_glShaderSourcedyn_glCompileShaderdyn_glIsShaderdyn_glDeleteShaderdyn_glCreateShaderuniform1uniform2uniform3uniform4 getUniform uniform1v uniform2v uniform3v uniform4vGetProgramPNameActiveUniformMaxLengthActiveUniformsActiveAttributeMaxLengthActiveAttributesAttachedShadersProgramInfoLogLengthValidateStatus LinkStatusProgramDeleteStatus programIDGetShaderPName ShaderTypeShaderSourceLengthShaderInfoLogLength CompileStatusShaderDeleteStatusshaderID makeShader shaderTypefragmentShaderIDvertexShaderID GLStringLenpeekGLstringLenwithGLStringLengenShaderNames createShaderdeleteShaderNames isShaderNameglCreateShaderptr_glCreateShaderglDeleteShaderptr_glDeleteShader glIsShaderptr_glIsShaderglCompileShaderptr_glCompileShadersetShaderSourceglShaderSourceptr_glShaderSourcegetShaderSourceglGetShaderSourceptr_glGetShaderSource stringQueryglGetShaderInfoLogptr_glGetShaderInfoLogshaderInfoLogLengthshaderSourceLengthshaderTypeEnummarshalGetShaderPName shaderVar glGetShaderivptr_glGetShaderivglCreateProgramptr_glCreateProgramglDeleteProgramptr_glDeleteProgram glIsProgramptr_glIsProgramgetAttachedShadersgetAttachedShaderIDsglGetAttachedShadersptr_glGetAttachedShaderssplitShaderIDsisVertexShaderID partitionMsetAttachedShadersglAttachShaderptr_glAttachShaderglDetachShaderptr_glDetachShader glLinkProgramptr_glLinkProgramgetCurrentProgram noProgram glUseProgramptr_glUseProgramglValidateProgramptr_glValidateProgramglGetProgramInfoLogptr_glGetProgramInfoLogprogramInfoLogLengthnumAttachedShadersactiveAttributesactiveAttributeMaxLengthnumActiveUniformsactiveUniformMaxLengthmarshalGetProgramPName programVarglGetProgramivptr_glGetProgramivgetAttribLocationglGetAttribLocationptr_glGetAttribLocationbindAttribLocationglBindAttribLocationptr_glBindAttribLocationunmarshalVariableType activeVarsglGetActiveAttribptr_glGetActiveAttribglGetUniformLocationptr_glGetUniformLocationglGetActiveUniformptr_glGetActiveUniform glUniform1iptr_glUniform1i glUniform2iptr_glUniform2i glUniform3iptr_glUniform3i glUniform4iptr_glUniform4iglGetUniformivptr_glGetUniformiv glUniform1ivptr_glUniform1iv glUniform2ivptr_glUniform2iv glUniform3ivptr_glUniform3iv glUniform4ivptr_glUniform4iv glUniform1fptr_glUniform1f glUniform2fptr_glUniform2f glUniform3fptr_glUniform3f glUniform4fptr_glUniform4fglGetUniformfvptr_glGetUniformfv glUniform1fvptr_glUniform1fv glUniform2fvptr_glUniform2fv glUniform3fvptr_glUniform3fv glUniform4fvptr_glUniform4fvglUniformMatrix2fvptr_glUniformMatrix2fvglUniformMatrix3fvptr_glUniformMatrix3fvglUniformMatrix4fvptr_glUniformMatrix4fvglUniformMatrix2x3fvptr_glUniformMatrix2x3fvglUniformMatrix3x2fvptr_glUniformMatrix3x2fvglUniformMatrix2x4fvptr_glUniformMatrix2x4fvglUniformMatrix4x2fvptr_glUniformMatrix4x2fvglUniformMatrix3x4fvptr_glUniformMatrix3x4fvglUniformMatrix4x3fvptr_glUniformMatrix4x3fvmaxComponentSizemaxNumComponentsmaxUniformBufferSizemakeUniformVargetLimit glLineStipple glLineWidth Data.MaybeNothing glGetString StringNameShadingLanguageVersion ExtensionsVersionRendererVendormarshalStringName getStringglPopClientAttribglPushClientAttrib glPopAttrib glPushAttribmarshalServerAttributeGroup pushAttribmarshalClientAttributeGrouppushClientAttribmarshalBlendingFactorunmarshalBlendingFactormarshalComparisonFunctionunmarshalComparisonFunction glLogicOpdyn_glBlendColorEXT glBlendFuncdyn_glBlendFuncSeparateEXTdyn_glBlendEquationSeparatedyn_glBlendEquationEXTdyn_glGetQueryObjectuivARBdyn_glGetQueryivARBdyn_glEndQueryARBdyn_glBeginQueryARBdyn_glIsQueryARBdyn_glDeleteQueriesARBdyn_glGenQueriesARB glDepthFuncdyn_glActiveStencilFaceEXTdyn_glStencilOpSeparate glStencilOpdyn_glStencilFuncSeparate glStencilFunc glAlphaFuncdyn_glDepthBoundsEXTdyn_glSampleCoverageARB glScissorGetQueryObjectPNameQueryResultAvailable QueryResult GetQueryPName CurrentQueryQueryCounterBitsqueryIDglSampleCoverageARBptr_glSampleCoverageARBglDepthBoundsEXTptr_glDepthBoundsEXTglStencilFuncSeparateptr_glStencilFuncSeparatemarshalStencilOpunmarshalStencilOpglStencilOpSeparateptr_glStencilOpSeparateglActiveStencilFaceEXTptr_glActiveStencilFaceEXTglGenQueriesARBptr_glGenQueriesARBglDeleteQueriesARBptr_glDeleteQueriesARB glIsQueryARBptr_glIsQueryARBmarshalQueryTarget beginQueryglBeginQueryARBptr_glBeginQueryARBendQuery glEndQueryARBptr_glEndQueryARBmarshalGetQueryPName getQueryiglGetQueryivARBptr_glGetQueryivARBmarshalGetQueryObjectPNamegetQueryObjectuiglGetQueryObjectuivARBptr_glGetQueryObjectuivARBmarshalBlendEquationunmarshalBlendEquationglBlendEquationEXTptr_glBlendEquationEXTglBlendEquationSeparateptr_glBlendEquationSeparateglBlendFuncSeparateEXTptr_glBlendFuncSeparateEXTglBlendColorEXTptr_glBlendColorEXTmarshalLogicOpunmarshalLogicOpmarshalPixelInternalFormatmarshalPixelInternalFormat'unmarshalPixelInternalFormat glPixelStorei PixelStoreUnpackImageHeightUnpackSkipImagesPackImageHeightPackSkipImages PackAlignmentPackSkipPixels PackSkipRows PackRowLength PackLSBFirst PackSwapBytesUnpackAlignmentUnpackSkipPixelsUnpackSkipRowsUnpackRowLengthUnpackLSBFirstUnpackSwapBytesmarshalPixelStore pixelStoreb pixelStoreiglPixelTransferfglPixelTransferi PixelTransferPostColorMatrixAlphaBiasPostColorMatrixBlueBiasPostColorMatrixGreenBiasPostColorMatrixRedBiasPostColorMatrixAlphaScalePostColorMatrixBlueScalePostColorMatrixGreenScalePostColorMatrixRedScalePostConvolutionAlphaBiasPostConvolutionBlueBiasPostConvolutionGreenBiasPostConvolutionRedBiasPostConvolutionAlphaScalePostConvolutionBlueScalePostConvolutionGreenScalePostConvolutionRedScale DepthBias DepthScale AlphaBias AlphaScaleBlueBias BlueScale GreenBias GreenScaleRedBiasRedScale IndexOffset IndexShift MapStencilMapColormarshalPixelTransferstageToGetScalesstageToSetScalesstageToGetBiasesstageToSetBiasespixelTransferbpixelTransferipixelTransferfpixelTransfer4f glPixelMapfvglGetPixelMapfv glPixelMapuivglGetPixelMapuiv glPixelMapusvglGetPixelMapusv getPixelMapv pixelMapvmarshalPixelMapTargetpixelMapTargetToGetPName pixelMapSize pixelMapXToYgetPixelMapXToYwithPixelMapForwithGLpixelmapsamplesetPixelMapXToY newGLpixelmapmarshalPixelFormatunmarshalPixelFormat withPixelData glPixelZoom glDrawPixelsdyn_glGetColorTableParameterivdyn_glColorTableParameterfvdyn_glGetColorTableParameterfvdyn_glCopyColorSubTabledyn_glColorSubTabledyn_glCopyColorTabledyn_glGetColorTabledyn_glColorTableColorTablePNameColorTableIntensitySizeColorTableLuminanceSizeColorTableAlphaSizeColorTableBlueSizeColorTableGreenSizeColorTableRedSizeColorTableWidthColorTableFormatColorTableBiasColorTableScalecolorTableStageToColorTablecolorTableStageToEnableCapmarshalColorTablemarshalProxyColorTable glColorTableptr_glColorTableglGetColorTableptr_glGetColorTableglCopyColorTableptr_glCopyColorTableglColorSubTableptr_glColorSubTableglCopyColorSubTableptr_glCopyColorSubTablemarshalColorTablePNamecolorTableScaleBiasgetColorTableParameterC4fglGetColorTableParameterfvptr_glGetColorTableParameterfvcolorTableParameterC4fglColorTableParameterfvptr_glColorTableParameterfvgetColorTableParameteriglGetColorTableParameterivptr_glGetColorTableParameterivdyn_glConvolutionParameterfvdyn_glGetConvolutionParameterfvdyn_glConvolutionParameteridyn_glGetConvolutionParameterivdyn_glCopyConvolutionFilter2Ddyn_glCopyConvolutionFilter1Ddyn_glGetSeparableFilterdyn_glSeparableFilter2Ddyn_glConvolutionFilter2Ddyn_glGetConvolutionFilterdyn_glConvolutionFilter1DConvolutionBorderMode'ReplicateBorder'ConstantBorder'Reduce'ConvolutionParameterMaxConvolutionHeightMaxConvolutionWidthConvolutionHeightConvolutionWidthConvolutionFormatConvolutionFilterBiasConvolutionFilterScaleConvolutionBorderColormarshalConvolutionTargetconvolutionTargetToEnableCapglConvolutionFilter1Dptr_glConvolutionFilter1DgetConvolutionFilterglGetConvolutionFilterptr_glGetConvolutionFilterglConvolutionFilter2Dptr_glConvolutionFilter2DglSeparableFilter2Dptr_glSeparableFilter2DglGetSeparableFilterptr_glGetSeparableFilterglCopyConvolutionFilter1Dptr_glCopyConvolutionFilter1DglCopyConvolutionFilter2Dptr_glCopyConvolutionFilter2DmarshalConvolutionParameterconvolutionParameterigetConvolutionParameteriglGetConvolutionParameterivptr_glGetConvolutionParameterivmarshalConvolutionBorderMode'unmarshalConvolutionBorderMode'getConvolutionBorderModesetConvolutionBorderModesetConvolutionParameteriglConvolutionParameteriptr_glConvolutionParametericonvolutionC4fgetConvolutionParameterC4fglGetConvolutionParameterfvptr_glGetConvolutionParameterfvconvolutionParameterC4fglConvolutionParameterfvptr_glConvolutionParameterfvdyn_glResetHistogramdyn_glGetHistogramdyn_glHistogramdyn_glGetHistogramParameterivGetHistogramParameterPName HistogramSinkHistogramLuminanceSizeHistogramAlphaSizeHistogramBlueSizeHistogramGreenSizeHistogramRedSizeHistogramFormatHistogramWidthHistogramTargetProxyHistogram HistogrammarshalHistogramTargetproxyToHistogramTarget getHistogram'getHistogramParameteriglGetHistogramParameterivptr_glGetHistogramParameteriv setHistogram glHistogramptr_glHistogramglGetHistogramptr_glGetHistogramglResetHistogramptr_glResetHistogram!marshalGetHistogramParameterPNamedyn_glGetMinmaxParameterivdyn_glResetMinmaxdyn_glGetMinmax dyn_glMinmaxGetMinmaxParameterPName MinmaxSink MinmaxFormat MinmaxTargetMinmaxmarshalMinmaxTarget getMinmax' setMinmaxglMinmax ptr_glMinmax glGetMinmaxptr_glGetMinmax glResetMinmaxptr_glResetMinmaxmarshalGetMinmaxParameterPNamegetMinmaxParameteriglGetMinmaxParameterivptr_glGetMinmaxParameterivglPolygonOffset glPolygonModeglPolygonStippleglGetPolygonStipple glCullFacenumPolygonStippleBytes withoutGapsgetPolygonModesetPolygonMode glEvalPoint2 glEvalMesh2 glEvalMesh1 glGetMapiv GetMapQueryCoefftotalComponents1totalComponents2peekControlPoints1peekControlPoints2pokeControlPoints1pokeControlPoints2controlPointPtrs1controlPointPtrs2 sizeOfPtrmakeMap1StateVargetMap1setMap1makeMap2StateVargetMap2setMap2marshalGetMapQuery glCopyPixels glReadBuffer glReadPixelsmarshalPixelCopyTypedyn_glPointParameterfvARBdyn_glPointParameterfARBPointParameterPointDistanceAttenuationPointFadeThresholdSize PointSizeMax PointSizeMinmarshalPointParameterpointParameterfglPointParameterfARBptr_glPointParameterfARBpointParameterfvglPointParameterfvARBptr_glPointParameterfvARB glPointSizemarshalTextureTargetmarshalProxyTextureTargetmarshalCubeMapTarget dyn_glCompressedTexSubImage3DARB dyn_glCompressedTexSubImage2DARB dyn_glCompressedTexSubImage1DARBdyn_glGetCompressedTexImageARBdyn_glCompressedTexImage3DARBdyn_glCompressedTexImage2DARBdyn_glCompressedTexImage1DARBdyn_glCopyTexSubImage3DEXTglCopyTexSubImage2DglCopyTexSubImage1Ddyn_glTexSubImage3DEXTglTexSubImage2DglTexSubImage1DglCopyTexImage2DglCopyTexImage1D glGetTexImagedyn_glTexImage3DEXT glTexImage2D glTexImage1DglTexImage3DEXTptr_glTexImage3DEXTglTexSubImage3DEXTptr_glTexSubImage3DEXTglCopyTexSubImage3DEXTptr_glCopyTexSubImage3DEXTwithCompressedPixelDataglCompressedTexImage1DARBptr_glCompressedTexImage1DARBglCompressedTexImage2DARBptr_glCompressedTexImage2DARBglCompressedTexImage3DARBptr_glCompressedTexImage3DARBglGetCompressedTexImageARBptr_glGetCompressedTexImageARBglCompressedTexSubImage1DARB ptr_glCompressedTexSubImage1DARBglCompressedTexSubImage2DARB ptr_glCompressedTexSubImage2DARBglCompressedTexSubImage3DARB ptr_glCompressedTexSubImage3DARBtextureTargetToEnableCapglGetTexLevelParameterivTexLevelParameterTextureCompressedTextureCompressedImageSize DepthBitsTextureIndexSizeTextureLuminanceSizeTextureIntensitySizeTextureAlphaSizeTextureBlueSizeTextureGreenSizeTextureRedSize TextureBorder TextureDepth TextureHeight TextureWidthTextureInternalFormatmarshalTexLevelParametergetTexLevelParameteriglGetTexParameterC4fglGetTexParameterfvglGetTexParameterivglTexParameterC4fglTexParameterfglTexParameteri TexParameterTextureResidentTextureLODBiasDepthTextureModeTextureCompareFuncTextureCompareModeTextureCompareFailValueTextureCompareTextureMaxAnisotropyTextureMaxLevelTextureBaseLevel TextureMaxLOD TextureMinLODTextureBorderColor TextureWrapR TextureWrapT TextureWrapSTextureMagFilterTextureMinFiltermarshalTexParameter texParametergetTexParameterm2a texParami texParamf texParamC4fgetTexParametericombineTexParamscombineTexParamsMaybemagToMinminToMagmarshalMinificationFiltermarshalMagnificationFilterunmarshalMinificationFilterunmarshalMagnificationFiltermarshalTextureWrapModeunmarshalTextureWrapModeinvalidTextureCoordmarshalTextureCompareModeunmarshalTextureCompareModemarshalTextureCompareOperatorunmarshalTextureCompareOperatorglGetTexEnvC4f glGetTexEnvfv glGetTexEnviv glTexEnvC4f glTexEnvf glTexEnviTextureEnvParameterTexEnvParamLODBiasTexEnvParamAlphaScaleTexEnvParamRGBScaleTexEnvParamOperand3AlphaTexEnvParamOperand2AlphaTexEnvParamOperand1AlphaTexEnvParamOperand0AlphaTexEnvParamOperand3RGBTexEnvParamOperand2RGBTexEnvParamOperand1RGBTexEnvParamOperand0RGBTexEnvParamSrc3AlphaTexEnvParamSrc2AlphaTexEnvParamSrc1AlphaTexEnvParamSrc0AlphaTexEnvParamSrc3RGBTexEnvParamSrc2RGBTexEnvParamSrc1RGBTexEnvParamSrc0RGBTexEnvParamCombineAlphaTexEnvParamCombineRGBTexEnvParamTextureEnvColorTexEnvParamTextureEnvModeTextureEnvTarget PointSpriteTextureFilterControl TextureEnvmarshalTextureEnvTargetmarshalTextureEnvParametertexEnv getTexEnvtexEnvitexEnvf texEnvC4fmarshalTextureFunctionunmarshalTextureFunctionmarshalTextureCombineFunctionunmarshalTextureCombineFunctioncombineargNumToOperandRGBargNumToOperandAlphaargNumToSrcRGBargNumToSrcAlpha marshalSrc unmarshalSrcargtextureEnvOperand textureEnvSrcglPrioritizeTexturesglAreTexturesResident glBindTexture glIsTextureglDeleteTextures glGenTextures textureIDdefaultTextureObjecttextureTargetToGetPName gluGetStringgluBuild2DMipmapsgluBuild1DMipmaps gluScaleImagedyn_gluUnProject4 gluUnProject gluProject gluPickMatrix gluLookAt gluUnProject4ptr_gluUnProject4 withViewportwithColumnMajor getVertex3 getVertex4 gluTessNormalgluTessPropertysetCombineCallbackmakeCombineCallbacksetErrorCallbackmakeErrorCallbacksetEndCallbackmakeEndCallbacksetVertexCallbackmakeVertexCallbacksetEdgeFlagCallbackmakeEdgeFlagCallbacksetBeginCallbackmakeBeginCallback gluTessVertexgluTessEndContourgluTessBeginContourgluTessEndPolygongluTessBeginPolygon gluDeleteTess gluNewTessCombineCallback ErrorCallback EndCallbackVertexCallback'VertexCallbackEdgeFlagCallback'EdgeFlagCallbackBeginCallback' BeginCallbackTessellatorObj TessProperty TessToleranceTessBoundaryOnlyTessWindingRule TessCallbackTessCombineDataTessEdgeFlagData TessErrorData TessEndDataTessVertexData TessBeginData TessCombine TessEdgeFlagError'EndTessEnd TessVertexBegin TessBeginmarshalTessCallbackmarshalTessPropertymarshalTessWindingoffsetOfProperty alignOffsetsizeOfComplexContourpokeComplexContoursizeOfComplexPolygonpokeComplexPolygonwithComplexPolygoncollectTrianglesisNullTesselatorObjwithTessellatorObjsafeDeleteTessdefineComplexPolygontessBeginEndPolygondefineComplexContourtessBeginEndContour defineVertexwithBeginCallbackwithEdgeFlagCallbackwithVertexCallbackwithEndCallbackwithErrorCallback checkForErrorwithCombineCallbackcombineProperties getPropertysetTessellatorPropertiessetWindingRulesetBoundaryOnly setTolerance tessProperty setNormalgluPartialDiskgluDisk gluCylinder gluSpheregluQuadricDrawStylegluQuadricOrientationgluQuadricTexturegluQuadricNormalsgluQuadricCallbackmakeQuadricCallbackgluDeleteQuadric gluNewQuadricQuadricCallback' QuadricObjQuadricCallbackError'2marshalQuadricDrawStylemarshalQuadricCallbackmarshalQuadricNormalmarshalQuadricOrientationmarshalQuadricTexturewithQuadricObjsetStyleisNullQuadricObjsafeDeleteQuadricgluLoadSamplingMatricesgluNurbsProperty gluEndTrim gluPwlCurve gluBeginTrim gluEndSurfacegluNurbsSurfacegluBeginSurface gluEndCurve gluNurbsCurve gluBeginCurvesetColorCallbackmakeColorCallbacksetNormalCallbackmakeNormalCallbackgluDeleteNurbsRenderergluNewNurbsRendererSamplingMethod'ObjectParametricError'ObjectPathLength'DomainDistance'ParametricError' PathLength' NURBSPropertyVStepUStepSamplingToleranceParametricToleranceCullingAutoLoadMatrix NURBSTrim Map1Trim3 Map1Trim2trimmingTargetColorCallback'NormalCallback' NURBSCallbackEndDataTextureCoordData ColorData NormalData VertexData BeginData TextureCoordmarshalNURBSCallbackisNullNURBSObjsafeDeleteNurbsRenderer pseudoPeekmarshalNURBSTrimmarshalNURBSPropertysetNURBSPropertymarshalNURBSModemarshalSamplingMethod'setSamplingMethod'setAutoLoadMatrixwithMatrixColumnMajormarshalDisplayMode'