<html><head> <link rel="stylesheet" href="_style.css" type="text/css"> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> <link rel="Start" href="index.html"> <link title="Index of types" rel=Appendix href="index_types.html"> <link title="Index of values" rel=Appendix href="index_values.html"> <link title="Index of modules" rel=Appendix href="index_modules.html"> <link title="GL" rel="Chapter" href="GL.html"> <link title="Glu" rel="Chapter" href="Glu.html"> <link title="Glut" rel="Chapter" href="Glut.html"> <link title="VertArray" rel="Chapter" href="VertArray.html"> <link title="GLE" rel="Chapter" href="GLE.html"> <link title="Ftgl" rel="Chapter" href="Ftgl.html"> <link title="Jpeg_loader" rel="Chapter" href="Jpeg_loader.html"> <link title="Png_loader" rel="Chapter" href="Png_loader.html"> <link title="Svg_loader" rel="Chapter" href="Svg_loader.html"> <link title="Genimg_loader" rel="Chapter" href="Genimg_loader.html"> <link title="FunGL" rel="Chapter" href="FunGL.html"> <link title="FunGlut" rel="Chapter" href="FunGlut.html"><title>GL</title> </head> <body> <code class="code"><span class="keyword">sig</span><br> <span class="keyword">type</span> primitive =<br> <span class="constructor">GL_POINTS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LINES</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LINE_LOOP</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LINE_STRIP</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TRIANGLES</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TRIANGLE_STRIP</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TRIANGLE_FAN</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_QUADS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_QUAD_STRIP</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POLYGON</span><br> <span class="keyword">external</span> glBegin : primitive:<span class="constructor">GL</span>.primitive <span class="keywordsign">-></span> unit = <span class="string">"ml_glbegin"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glEnd : unit <span class="keywordsign">-></span> unit = <span class="string">"ml_glend"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glVertex2 : x:float <span class="keywordsign">-></span> y:float <span class="keywordsign">-></span> unit = <span class="string">"ml_glvertex2"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glVertex3 : x:float <span class="keywordsign">-></span> y:float <span class="keywordsign">-></span> z:float <span class="keywordsign">-></span> unit = <span class="string">"ml_glvertex3"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glVertex4 : x:float <span class="keywordsign">-></span> y:float <span class="keywordsign">-></span> z:float <span class="keywordsign">-></span> w:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glvertex4"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glVertex2v : v:float * float <span class="keywordsign">-></span> unit = <span class="string">"ml_glvertex2v"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glVertex3v : v:float * float * float <span class="keywordsign">-></span> unit = <span class="string">"ml_glvertex3v"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glVertex4v : v:float * float * float * float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glvertex4v"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glNormal3 : nx:float <span class="keywordsign">-></span> ny:float <span class="keywordsign">-></span> nz:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glnormal3"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glNormal3v : v:float * float * float <span class="keywordsign">-></span> unit = <span class="string">"ml_glnormal3v"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glIndex : c:float <span class="keywordsign">-></span> unit = <span class="string">"ml_glindexd"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glIndexi : c:int <span class="keywordsign">-></span> unit = <span class="string">"ml_glindexi"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glColor3 : r:float <span class="keywordsign">-></span> g:float <span class="keywordsign">-></span> b:float <span class="keywordsign">-></span> unit = <span class="string">"ml_glcolor3"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glColor4 : r:float <span class="keywordsign">-></span> g:float <span class="keywordsign">-></span> b:float <span class="keywordsign">-></span> a:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glcolor4"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glColor3v : v:float * float * float <span class="keywordsign">-></span> unit = <span class="string">"ml_glcolor3v"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glColor4v : v:float * float * float * float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glcolor4v"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glColor3c : r:char <span class="keywordsign">-></span> g:char <span class="keywordsign">-></span> b:char <span class="keywordsign">-></span> unit = <span class="string">"ml_glcolor3c"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glColor4c : r:char <span class="keywordsign">-></span> g:char <span class="keywordsign">-></span> b:char <span class="keywordsign">-></span> a:char <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glcolor4c"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glColor3cv : v:char * char * char <span class="keywordsign">-></span> unit = <span class="string">"ml_glcolor3cv"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glColor4cv : v:char * char * char * char <span class="keywordsign">-></span> unit = <span class="string">"ml_glcolor4cv"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glEdgeFlag : flag:bool <span class="keywordsign">-></span> unit = <span class="string">"ml_gledgeflag"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glRasterPos2 : x:float <span class="keywordsign">-></span> y:float <span class="keywordsign">-></span> unit = <span class="string">"ml_glrasterpos2d"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glRasterPos3 : x:float <span class="keywordsign">-></span> y:float <span class="keywordsign">-></span> z:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glrasterpos3d"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glRasterPos4 : x:float <span class="keywordsign">-></span> y:float <span class="keywordsign">-></span> z:float <span class="keywordsign">-></span> w:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glrasterpos4d"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glRect : x1:float <span class="keywordsign">-></span> y1:float <span class="keywordsign">-></span> x2:float <span class="keywordsign">-></span> y2:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glrect"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glRecti : x1:int <span class="keywordsign">-></span> y1:int <span class="keywordsign">-></span> x2:int <span class="keywordsign">-></span> y2:int <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glrecti"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glLineStipple : factor:int <span class="keywordsign">-></span> pattern:int <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_gllinestipple"</span> <span class="string">"noalloc"</span><br> <span class="keyword">type</span> matrix_mode = <span class="constructor">GL_MODELVIEW</span> <span class="keywordsign">|</span> <span class="constructor">GL_PROJECTION</span> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE</span><br> <span class="keyword">external</span> glMatrixMode : mode:<span class="constructor">GL</span>.matrix_mode <span class="keywordsign">-></span> unit = <span class="string">"ml_glmatrixmode"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glViewport : x:int <span class="keywordsign">-></span> y:int <span class="keywordsign">-></span> width:int <span class="keywordsign">-></span> height:int <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glviewport"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glOrtho :<br> left:float <span class="keywordsign">-></span><br> right:float <span class="keywordsign">-></span><br> bottom:float <span class="keywordsign">-></span> top:float <span class="keywordsign">-></span> near_val:float <span class="keywordsign">-></span> far_val:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glortho_bytecode"</span> <span class="string">"ml_glortho_native"</span><br> <span class="keyword">external</span> glFrustum :<br> left:float <span class="keywordsign">-></span><br> right:float <span class="keywordsign">-></span><br> bottom:float <span class="keywordsign">-></span> top:float <span class="keywordsign">-></span> near:float <span class="keywordsign">-></span> far:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glfrustum_bytecode"</span> <span class="string">"ml_glfrustum_native"</span><br> <span class="keyword">external</span> glPushMatrix : unit <span class="keywordsign">-></span> unit = <span class="string">"ml_glpushmatrix"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glPopMatrix : unit <span class="keywordsign">-></span> unit = <span class="string">"ml_glpopmatrix"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glLoadIdentity : unit <span class="keywordsign">-></span> unit = <span class="string">"ml_glloadidentity"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glRotatev : angle:float <span class="keywordsign">-></span> vec:float * float * float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glrotatev"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glRotate : angle:float <span class="keywordsign">-></span> x:float <span class="keywordsign">-></span> y:float <span class="keywordsign">-></span> z:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glrotate"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glTranslatev : float * float * float <span class="keywordsign">-></span> unit = <span class="string">"ml_gltranslatev"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glTranslate : x:float <span class="keywordsign">-></span> y:float <span class="keywordsign">-></span> z:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_gltranslate"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glScalev : float * float * float <span class="keywordsign">-></span> unit = <span class="string">"ml_glscalev"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glScale : x:float <span class="keywordsign">-></span> y:float <span class="keywordsign">-></span> z:float <span class="keywordsign">-></span> unit = <span class="string">"ml_glscale"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">val</span> glMultMatrix : mat:float array array <span class="keywordsign">-></span> unit<br> <span class="keyword">external</span> glMultMatrixFlat : float array <span class="keywordsign">-></span> unit = <span class="string">"ml_glmultmatrixd_flat"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">val</span> glLoadMatrix : mat:float array array <span class="keywordsign">-></span> unit<br> <span class="keyword">external</span> glLoadMatrixFlat : float array <span class="keywordsign">-></span> unit = <span class="string">"ml_glloadmatrixd_flat"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glLoadMatrixFlat_unsafe : float array <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glloadmatrixd_flat_unsafe"</span> <span class="string">"noalloc"</span><br> <span class="keyword">type</span> shade_mode = <span class="constructor">GL_FLAT</span> <span class="keywordsign">|</span> <span class="constructor">GL_SMOOTH</span><br> <span class="keyword">external</span> glShadeModel : <span class="constructor">GL</span>.shade_mode <span class="keywordsign">-></span> unit = <span class="string">"ml_glshademodel"</span> <span class="string">"noalloc"</span><br> <span class="keyword">module</span> <span class="constructor">Light</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> light_pname =<br> <span class="constructor">GL_SPOT_EXPONENT</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="constructor">GL_SPOT_CUTOFF</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="constructor">GL_CONSTANT_ATTENUATION</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="constructor">GL_LINEAR_ATTENUATION</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="constructor">GL_QUADRATIC_ATTENUATION</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="constructor">GL_SPOT_DIRECTION</span> <span class="keyword">of</span> (float * float * float)<br> <span class="keywordsign">|</span> <span class="constructor">GL_AMBIENT</span> <span class="keyword">of</span> (float * float * float * float)<br> <span class="keywordsign">|</span> <span class="constructor">GL_DIFFUSE</span> <span class="keyword">of</span> (float * float * float * float)<br> <span class="keywordsign">|</span> <span class="constructor">GL_SPECULAR</span> <span class="keyword">of</span> (float * float * float * float)<br> <span class="keywordsign">|</span> <span class="constructor">GL_POSITION</span> <span class="keyword">of</span> (float * float * float * float)<br> <span class="keyword">end</span><br> <span class="keyword">type</span> gl_light = <span class="constructor">GL_LIGHT</span> <span class="keyword">of</span> int<br> <span class="keyword">val</span> glLight : light:<span class="constructor">GL</span>.gl_light <span class="keywordsign">-></span> pname:<span class="constructor">GL</span>.<span class="constructor">Light</span>.light_pname <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> color_control = <span class="constructor">GL_SEPARATE_SPECULAR_COLOR</span> <span class="keywordsign">|</span> <span class="constructor">GL_SINGLE_COLOR</span><br> <span class="keyword">type</span> light_model =<br> <span class="constructor">GL_LIGHT_MODEL_AMBIENT</span> <span class="keyword">of</span> (float * float * float * float)<br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT_MODEL_COLOR_CONTROL</span> <span class="keyword">of</span> <span class="constructor">GL</span>.color_control<br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT_MODEL_LOCAL_VIEWER</span> <span class="keyword">of</span> bool<br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT_MODEL_TWO_SIDE</span> <span class="keyword">of</span> bool<br> <span class="keyword">val</span> glLightModel : light_model:<span class="constructor">GL</span>.light_model <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> face_mode = <span class="constructor">GL_FRONT</span> <span class="keywordsign">|</span> <span class="constructor">GL_BACK</span> <span class="keywordsign">|</span> <span class="constructor">GL_FRONT_AND_BACK</span><br> <span class="keyword">module</span> <span class="constructor">Material</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> material_mode =<br> <span class="constructor">GL_AMBIENT</span> <span class="keyword">of</span> (float * float * float * float)<br> <span class="keywordsign">|</span> <span class="constructor">GL_DIFFUSE</span> <span class="keyword">of</span> (float * float * float * float)<br> <span class="keywordsign">|</span> <span class="constructor">GL_SPECULAR</span> <span class="keyword">of</span> (float * float * float * float)<br> <span class="keywordsign">|</span> <span class="constructor">GL_EMISSION</span> <span class="keyword">of</span> (float * float * float * float)<br> <span class="keywordsign">|</span> <span class="constructor">GL_SHININESS</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="constructor">GL_AMBIENT_AND_DIFFUSE</span> <span class="keyword">of</span> (float * float * float * float)<br> <span class="keywordsign">|</span> <span class="constructor">GL_COLOR_INDEXES</span> <span class="keyword">of</span> (int * int * int)<br> <span class="keyword">end</span><br> <span class="keyword">val</span> glMaterial :<br> face:<span class="constructor">GL</span>.face_mode <span class="keywordsign">-></span> mode:<span class="constructor">GL</span>.<span class="constructor">Material</span>.material_mode <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> color_material_mode =<br> <span class="constructor">GL_EMISSION</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_AMBIENT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DIFFUSE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SPECULAR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_AMBIENT_AND_DIFFUSE</span><br> <span class="keyword">external</span> glColorMaterial :<br> face:<span class="constructor">GL</span>.face_mode <span class="keywordsign">-></span> mode:<span class="constructor">GL</span>.color_material_mode <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glcolormaterial"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glSecondaryColor3 : red:float <span class="keywordsign">-></span> green:float <span class="keywordsign">-></span> blue:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glsecondarycolor3d"</span> <span class="string">"noalloc"</span><br> <span class="keyword">type</span> gl_func =<br> <span class="constructor">GL_NEVER</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LESS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_EQUAL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LEQUAL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_GREATER</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_NOTEQUAL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_GEQUAL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ALWAYS</span><br> <span class="keyword">external</span> glStencilFunc : func:<span class="constructor">GL</span>.gl_func <span class="keywordsign">-></span> ref:int <span class="keywordsign">-></span> mask:int <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glstencilfunc"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glStencilFuncn :<br> func:<span class="constructor">GL</span>.gl_func <span class="keywordsign">-></span> ref:int <span class="keywordsign">-></span> mask:nativeint <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glstencilfuncn"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glStencilMask : mask:int <span class="keywordsign">-></span> unit = <span class="string">"ml_glstencilmask"</span> <span class="string">"noalloc"</span><br> <span class="keyword">type</span> stencil_op =<br> <span class="constructor">GL_KEEP</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ZERO</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_REPLACE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_INCR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_INCR_WRAP</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DECR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DECR_WRAP</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_INVERT</span><br> <span class="keyword">external</span> glStencilOp :<br> sfail:<span class="constructor">GL</span>.stencil_op <span class="keywordsign">-></span><br> dpfail:<span class="constructor">GL</span>.stencil_op <span class="keywordsign">-></span> dppass:<span class="constructor">GL</span>.stencil_op <span class="keywordsign">-></span> unit = <span class="string">"ml_glstencilop"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glClearStencil : s:int <span class="keywordsign">-></span> unit = <span class="string">"ml_glclearstencil"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glFlush : unit <span class="keywordsign">-></span> unit = <span class="string">"ml_glflush"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glFinish : unit <span class="keywordsign">-></span> unit = <span class="string">"ml_glfinish"</span> <span class="string">"noalloc"</span><br> <span class="keyword">type</span> orientation = <span class="constructor">GL_CW</span> <span class="keywordsign">|</span> <span class="constructor">GL_CCW</span><br> <span class="keyword">external</span> glFrontFace : orientation:<span class="constructor">GL</span>.orientation <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glfrontface"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glClearColor : r:float <span class="keywordsign">-></span> g:float <span class="keywordsign">-></span> b:float <span class="keywordsign">-></span> a:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glclearcolor"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glClearIndex : float <span class="keywordsign">-></span> unit = <span class="string">"ml_glclearindex"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glColorMask : r:bool <span class="keywordsign">-></span> g:bool <span class="keywordsign">-></span> b:bool <span class="keywordsign">-></span> a:bool <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glcolormask"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glDepthRange : near_val:float <span class="keywordsign">-></span> far_val:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_gldepthrange"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glClearDepth : depth:float <span class="keywordsign">-></span> unit = <span class="string">"ml_glcleardepth"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glDepthMask : bool <span class="keywordsign">-></span> unit = <span class="string">"ml_gldepthmask"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glClearAccum : r:float <span class="keywordsign">-></span> g:float <span class="keywordsign">-></span> b:float <span class="keywordsign">-></span> a:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glclearaccum"</span> <span class="string">"noalloc"</span><br> <span class="keyword">type</span> accum_op = <span class="constructor">GL_ACCUM</span> <span class="keywordsign">|</span> <span class="constructor">GL_LOAD</span> <span class="keywordsign">|</span> <span class="constructor">GL_ADD</span> <span class="keywordsign">|</span> <span class="constructor">GL_MULT</span> <span class="keywordsign">|</span> <span class="constructor">GL_RETURN</span><br> <span class="keyword">external</span> glAccum : op:<span class="constructor">GL</span>.accum_op <span class="keywordsign">-></span> value:float <span class="keywordsign">-></span> unit = <span class="string">"ml_glaccum"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">type</span> gl_capability =<br> <span class="constructor">GL_ALPHA_TEST</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_AUTO_NORMAL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_BLEND</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CLIP_PLANE0</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CLIP_PLANE1</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CLIP_PLANE2</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CLIP_PLANE3</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CLIP_PLANE4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CLIP_PLANE5</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COLOR_LOGIC_OP</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COLOR_MATERIAL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COLOR_TABLE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CONVOLUTION_1D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CONVOLUTION_2D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CULL_FACE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DEPTH_TEST</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DITHER</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_FOG</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_HISTOGRAM</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_INDEX_LOGIC_OP</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT0</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT1</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT2</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT3</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT5</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT6</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT7</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHTING</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LINE_SMOOTH</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LINE_STIPPLE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_COLOR_4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_INDEX</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_NORMAL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_TEXTURE_COORD_1</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_TEXTURE_COORD_2</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_TEXTURE_COORD_3</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_TEXTURE_COORD_4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_VERTEX_3</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_VERTEX_4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_COLOR_4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_INDEX</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_NORMAL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_TEXTURE_COORD_1</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_TEXTURE_COORD_2</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_TEXTURE_COORD_3</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_TEXTURE_COORD_4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_VERTEX_3</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_VERTEX_4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MINMAX</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MULTISAMPLE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_NORMALIZE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POINT_SMOOTH</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POINT_SPRITE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POLYGON_OFFSET_FILL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POLYGON_OFFSET_LINE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POLYGON_OFFSET_POINT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POLYGON_SMOOTH</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POLYGON_STIPPLE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POST_COLOR_MATRIX_COLOR_TABLE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POST_CONVOLUTION_COLOR_TABLE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RESCALE_NORMAL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SAMPLE_ALPHA_TO_COVERAGE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SAMPLE_ALPHA_TO_ONE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SAMPLE_COVERAGE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SEPARABLE_2D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SCISSOR_TEST</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_STENCIL_TEST</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_1D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_2D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_3D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_CUBE_MAP</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_GEN_Q</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_GEN_R</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_GEN_S</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_GEN_T</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_VERTEX_PROGRAM_POINT_SIZE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_VERTEX_PROGRAM_TWO_SIDE</span><br> <span class="keyword">external</span> glEnable : cap:<span class="constructor">GL</span>.gl_capability <span class="keywordsign">-></span> unit = <span class="string">"ml_glenable"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glDisable : cap:<span class="constructor">GL</span>.gl_capability <span class="keywordsign">-></span> unit = <span class="string">"ml_gldisable"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">module</span> <span class="constructor">Enabled</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> enabled_cap =<br> <span class="constructor">GL_ALPHA_TEST</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_AUTO_NORMAL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_BLEND</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CLIP_PLANE0</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CLIP_PLANE1</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CLIP_PLANE2</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CLIP_PLANE3</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CLIP_PLANE4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CLIP_PLANE5</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COLOR_ARRAY</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COLOR_LOGIC_OP</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COLOR_MATERIAL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COLOR_SUM</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COLOR_TABLE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CONVOLUTION_1D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CONVOLUTION_2D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CULL_FACE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DEPTH_TEST</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DITHER</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_EDGE_FLAG_ARRAY</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_FOG</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_FOG_COORD_ARRAY</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_HISTOGRAM</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_INDEX_ARRAY</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_INDEX_LOGIC_OP</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT0</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT1</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT2</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT3</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT5</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT6</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT7</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHTING</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LINE_SMOOTH</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LINE_STIPPLE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_COLOR_4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_INDEX</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_NORMAL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_TEXTURE_COORD_1</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_TEXTURE_COORD_2</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_TEXTURE_COORD_3</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_TEXTURE_COORD_4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_COLOR_4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_INDEX</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_NORMAL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_TEXTURE_COORD_1</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_TEXTURE_COORD_2</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_TEXTURE_COORD_3</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_TEXTURE_COORD_4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_VERTEX_3</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_VERTEX_4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MINMAX</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MULTISAMPLE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_NORMAL_ARRAY</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_NORMALIZE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POINT_SMOOTH</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POINT_SPRITE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POLYGON_SMOOTH</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POLYGON_OFFSET_FILL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POLYGON_OFFSET_LINE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POLYGON_OFFSET_POINT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POLYGON_STIPPLE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POST_COLOR_MATRIX_COLOR_TABLE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POST_CONVOLUTION_COLOR_TABLE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RESCALE_NORMAL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SAMPLE_ALPHA_TO_COVERAGE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SAMPLE_ALPHA_TO_ONE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SAMPLE_COVERAGE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SCISSOR_TEST</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SECONDARY_COLOR_ARRAY</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SEPARABLE_2D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_STENCIL_TEST</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_1D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_2D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_3D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_COORD_ARRAY</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_CUBE_MAP</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_GEN_Q</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_GEN_R</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_GEN_S</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_GEN_T</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_VERTEX_ARRAY</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_VERTEX_PROGRAM_POINT_SIZE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_VERTEX_PROGRAM_TWO_SIDE</span><br> <span class="keyword">end</span><br> <span class="keyword">external</span> glIsEnabled : <span class="constructor">GL</span>.<span class="constructor">Enabled</span>.enabled_cap <span class="keywordsign">-></span> bool = <span class="string">"ml_glisenabled"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">type</span> polygon_mode = <span class="constructor">GL_POINT</span> <span class="keywordsign">|</span> <span class="constructor">GL_LINE</span> <span class="keywordsign">|</span> <span class="constructor">GL_FILL</span><br> <span class="keyword">external</span> glPolygonMode : face:<span class="constructor">GL</span>.face_mode <span class="keywordsign">-></span> mode:<span class="constructor">GL</span>.polygon_mode <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glpolygonmode"</span> <span class="string">"noalloc"</span><br> <span class="keyword">type</span> clear_mask =<br> <span class="constructor">GL_COLOR_BUFFER_BIT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DEPTH_BUFFER_BIT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ACCUM_BUFFER_BIT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_STENCIL_BUFFER_BIT</span><br> <span class="keyword">external</span> glClear : mask:<span class="constructor">GL</span>.clear_mask list <span class="keywordsign">-></span> unit = <span class="string">"ml_glclear"</span> <span class="string">"noalloc"</span><br> <span class="keyword">type</span> gl_error =<br> <span class="constructor">GL_NO_ERROR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_INVALID_ENUM</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_INVALID_VALUE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_INVALID_OPERATION</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_STACK_OVERFLOW</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_STACK_UNDERFLOW</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_OUT_OF_MEMORY</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TABLE_TOO_LARGE</span><br> <span class="keyword">external</span> glGetError : unit <span class="keywordsign">-></span> <span class="constructor">GL</span>.gl_error = <span class="string">"ml_glgeterror"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glLineWidth : width:float <span class="keywordsign">-></span> unit = <span class="string">"ml_gllinewidth"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glPointSize : size:float <span class="keywordsign">-></span> unit = <span class="string">"ml_glpointsize"</span> <span class="string">"noalloc"</span><br> <span class="keyword">type</span> sprite_coord_origin = <span class="constructor">GL_LOWER_LEFT</span> <span class="keywordsign">|</span> <span class="constructor">GL_UPPER_LEFT</span><br> <span class="keyword">type</span> point_parameter =<br> <span class="constructor">GL_POINT_SIZE_MIN</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="constructor">GL_POINT_SIZE_MAX</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="constructor">GL_POINT_FADE_THRESHOLD_SIZE</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="constructor">GL_POINT_DISTANCE_ATTENUATION</span> <span class="keyword">of</span> float * float * float<br> <span class="keywordsign">|</span> <span class="constructor">GL_POINT_SPRITE_COORD_ORIGIN</span> <span class="keyword">of</span> <span class="constructor">GL</span>.sprite_coord_origin<br> <span class="keyword">val</span> glPointParameter : <span class="constructor">GL</span>.point_parameter <span class="keywordsign">-></span> unit<br> <span class="keyword">external</span> glDepthFunc : func:<span class="constructor">GL</span>.gl_func <span class="keywordsign">-></span> unit = <span class="string">"ml_gldepthfunc"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glAlphaFunc : func:<span class="constructor">GL</span>.gl_func <span class="keywordsign">-></span> ref:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glalphafunc"</span> <span class="string">"noalloc"</span><br> <span class="keyword">type</span> hint_target =<br> <span class="constructor">GL_FOG_HINT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LINE_SMOOTH_HINT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_PERSPECTIVE_CORRECTION_HINT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POINT_SMOOTH_HINT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POLYGON_SMOOTH_HINT</span><br> <span class="keyword">type</span> hint_mode = <span class="constructor">GL_FASTEST</span> <span class="keywordsign">|</span> <span class="constructor">GL_NICEST</span> <span class="keywordsign">|</span> <span class="constructor">GL_DONT_CARE</span><br> <span class="keyword">external</span> glHint : target:<span class="constructor">GL</span>.hint_target <span class="keywordsign">-></span> mode:<span class="constructor">GL</span>.hint_mode <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glhint"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glCullFace : mode:<span class="constructor">GL</span>.face_mode <span class="keywordsign">-></span> unit = <span class="string">"ml_glcullface"</span> <span class="string">"noalloc"</span><br> <span class="keyword">module</span> <span class="constructor">DrawBuffer</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> draw_buffer_mode =<br> <span class="constructor">GL_NONE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_FRONT_LEFT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_FRONT_RIGHT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_BACK_LEFT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_BACK_RIGHT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_FRONT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_BACK</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LEFT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RIGHT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_FRONT_AND_BACK</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_AUX0</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_AUX1</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_AUX2</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_AUX3</span><br> <span class="keyword">end</span><br> <span class="keyword">external</span> glDrawBuffer : mode:<span class="constructor">GL</span>.<span class="constructor">DrawBuffer</span>.draw_buffer_mode <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_gldrawbuffer"</span> <span class="string">"noalloc"</span><br> <span class="keyword">module</span> <span class="constructor">ReadBuffer</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> read_buffer_mode =<br> <span class="constructor">GL_FRONT_LEFT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_FRONT_RIGHT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_BACK_LEFT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_BACK_RIGHT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_FRONT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_BACK</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LEFT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RIGHT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_AUX0</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_AUX1</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_AUX2</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_AUX3</span><br> <span class="keyword">end</span><br> <span class="keyword">external</span> glReadBuffer : mode:<span class="constructor">GL</span>.<span class="constructor">ReadBuffer</span>.read_buffer_mode <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glreadbuffer"</span> <span class="string">"noalloc"</span><br> <span class="keyword">module</span> <span class="constructor">Sfactor</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> blend_sfactor =<br> <span class="constructor">GL_ZERO</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ONE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DST_COLOR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ONE_MINUS_DST_COLOR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SRC_ALPHA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ONE_MINUS_SRC_ALPHA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DST_ALPHA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ONE_MINUS_DST_ALPHA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SRC_ALPHA_SATURATE</span><br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Dfactor</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> blend_dfactor =<br> <span class="constructor">GL_ZERO</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ONE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SRC_COLOR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ONE_MINUS_SRC_COLOR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SRC_ALPHA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ONE_MINUS_SRC_ALPHA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DST_ALPHA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ONE_MINUS_DST_ALPHA</span><br> <span class="keyword">end</span><br> <span class="keyword">external</span> glBlendFunc :<br> sfactor:<span class="constructor">GL</span>.<span class="constructor">Sfactor</span>.blend_sfactor <span class="keywordsign">-></span><br> dfactor:<span class="constructor">GL</span>.<span class="constructor">Dfactor</span>.blend_dfactor <span class="keywordsign">-></span> unit = <span class="string">"ml_glblendfunc"</span> <span class="string">"noalloc"</span><br> <span class="keyword">type</span> blend_mode =<br> <span class="constructor">GL_FUNC_ADD</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_FUNC_SUBTRACT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_FUNC_REVERSE_SUBTRACT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MIN</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAX</span><br> <span class="keyword">external</span> glBlendEquation : mode:<span class="constructor">GL</span>.blend_mode <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glblendequation"</span> <span class="string">"noalloc"</span><br> <span class="keyword">module</span> <span class="constructor">Op</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> op_code =<br> <span class="constructor">GL_CLEAR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SET</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COPY</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COPY_INVERTED</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_NOOP</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_INVERT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_AND</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_NAND</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_OR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_NOR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_XOR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_EQUIV</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_AND_REVERSE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_AND_INVERTED</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_OR_REVERSE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_OR_INVERTED</span><br> <span class="keyword">end</span><br> <span class="keyword">external</span> glLogicOp : opcode:<span class="constructor">GL</span>.<span class="constructor">Op</span>.op_code <span class="keywordsign">-></span> unit = <span class="string">"ml_gllogicop"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glPolygonOffset : factor:float <span class="keywordsign">-></span> units:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glpolygonoffset"</span> <span class="string">"noalloc"</span><br> <span class="keyword">type</span> texture_id = int<br> <span class="keyword">external</span> glGenTextures : n:int <span class="keywordsign">-></span> <span class="constructor">GL</span>.texture_id array = <span class="string">"ml_glgentextures"</span><br> <span class="keyword">external</span> glGenTexture : unit <span class="keywordsign">-></span> <span class="constructor">GL</span>.texture_id = <span class="string">"ml_glgentexture"</span> <span class="string">"noalloc"</span><br> <span class="keyword">module</span> <span class="constructor">BindTex</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> texture_binding =<br> <span class="constructor">GL_TEXTURE_1D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_2D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_3D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_CUBE_MAP</span><br> <span class="keyword">end</span><br> <span class="keyword">external</span> glBindTexture :<br> target:<span class="constructor">GL</span>.<span class="constructor">BindTex</span>.texture_binding <span class="keywordsign">-></span> texture:<span class="constructor">GL</span>.texture_id <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glbindtexture"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glBindTexture2D : texture:<span class="constructor">GL</span>.texture_id <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glbindtexture2d"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glDeleteTextures : textures:<span class="constructor">GL</span>.texture_id array <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_gldeletetextures"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glDeleteTexture : texture:<span class="constructor">GL</span>.texture_id <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_gldeletetexture"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glIsTexture : texture:<span class="constructor">GL</span>.texture_id <span class="keywordsign">-></span> bool = <span class="string">"ml_glistexture"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glPrioritizeTextures :<br> texture:<span class="constructor">GL</span>.texture_id array <span class="keywordsign">-></span> priority:float array <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glprioritizetextures"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glPrioritizeTexture :<br> texture:<span class="constructor">GL</span>.texture_id <span class="keywordsign">-></span> priority:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glprioritizetexture"</span> <span class="string">"noalloc"</span><br> <span class="keyword">module</span> <span class="constructor">TexEnv</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> texenv_target =<br> <span class="constructor">GL_TEXTURE_ENV</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_FILTER_CONTROL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POINT_SPRITE</span><br> <span class="keyword">type</span> texenv_pname =<br> <span class="constructor">GL_TEXTURE_ENV_MODE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_LOD_BIAS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COMBINE_RGB</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COMBINE_ALPHA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SRC0_RGB</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SRC1_RGB</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SRC2_RGB</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SRC0_ALPHA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SRC1_ALPHA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SRC2_ALPHA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_OPERAND0_RGB</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_OPERAND1_RGB</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_OPERAND2_RGB</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_OPERAND0_ALPHA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_OPERAND1_ALPHA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_OPERAND2_ALPHA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RGB_SCALE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ALPHA_SCALE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COORD_REPLACE</span><br> <span class="keyword">type</span> texenv_param =<br> <span class="constructor">GL_ADD</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ADD_SIGNED</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_INTERPOLATE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MODULATE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DECAL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_BLEND</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_REPLACE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SUBTRACT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COMBINE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CONSTANT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_PRIMARY_COLOR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_PREVIOUS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SRC_COLOR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ONE_MINUS_SRC_COLOR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SRC_ALPHA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ONE_MINUS_SRC_ALPHA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TRUE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_FALSE</span><br> <span class="keyword">end</span><br> <span class="keyword">external</span> glTexEnv :<br> <span class="constructor">GL</span>.<span class="constructor">TexEnv</span>.texenv_target <span class="keywordsign">-></span><br> <span class="constructor">GL</span>.<span class="constructor">TexEnv</span>.texenv_pname <span class="keywordsign">-></span> <span class="constructor">GL</span>.<span class="constructor">TexEnv</span>.texenv_param <span class="keywordsign">-></span> unit = <span class="string">"ml_gltexenv"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">type</span> tex_coord = <span class="constructor">GL_S</span> <span class="keywordsign">|</span> <span class="constructor">GL_T</span> <span class="keywordsign">|</span> <span class="constructor">GL_R</span> <span class="keywordsign">|</span> <span class="constructor">GL_Q</span><br> <span class="keyword">type</span> tex_coord_gen_func = <span class="constructor">GL_TEXTURE_GEN_MODE</span><br> <span class="keyword">type</span> tex_gen_param =<br> <span class="constructor">GL_OBJECT_LINEAR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_EYE_LINEAR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SPHERE_MAP</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_NORMAL_MAP</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_REFLECTION_MAP</span><br> <span class="keyword">external</span> glTexGen :<br> <span class="constructor">GL</span>.tex_coord <span class="keywordsign">-></span> <span class="constructor">GL</span>.tex_coord_gen_func <span class="keywordsign">-></span> <span class="constructor">GL</span>.tex_gen_param <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glTexGen"</span> <span class="string">"noalloc"</span><br> <span class="keyword">module</span> <span class="constructor">TexTarget</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> target_2d =<br> <span class="constructor">GL_TEXTURE_2D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_PROXY_TEXTURE_2D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_CUBE_MAP_POSITIVE_X</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_CUBE_MAP_NEGATIVE_X</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_CUBE_MAP_POSITIVE_Y</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_CUBE_MAP_POSITIVE_Z</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_PROXY_TEXTURE_CUBE_MAP</span><br> <span class="keyword">type</span> target_1d = <span class="constructor">GL_TEXTURE_1D</span> <span class="keywordsign">|</span> <span class="constructor">GL_PROXY_TEXTURE_1D</span><br> <span class="keyword">type</span> target_3d = <span class="constructor">GL_TEXTURE_3D</span> <span class="keywordsign">|</span> <span class="constructor">GL_PROXY_TEXTURE_3D</span><br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">InternalFormat</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> internal_format =<br> <span class="constructor">GL_ALPHA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ALPHA4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ALPHA8</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ALPHA12</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ALPHA16</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COMPRESSED_ALPHA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COMPRESSED_LUMINANCE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COMPRESSED_LUMINANCE_ALPHA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COMPRESSED_INTENSITY</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COMPRESSED_RGB</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COMPRESSED_RGBA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DEPTH_COMPONENT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DEPTH_COMPONENT16</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DEPTH_COMPONENT24</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DEPTH_COMPONENT32</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LUMINANCE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LUMINANCE4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LUMINANCE8</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LUMINANCE12</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LUMINANCE16</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LUMINANCE_ALPHA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LUMINANCE4_ALPHA4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LUMINANCE6_ALPHA2</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LUMINANCE8_ALPHA8</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LUMINANCE12_ALPHA4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LUMINANCE12_ALPHA12</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LUMINANCE16_ALPHA16</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_INTENSITY</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_INTENSITY4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_INTENSITY8</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_INTENSITY12</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_INTENSITY16</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_R3_G3_B2</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RGB</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RGB4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RGB5</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RGB8</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RGB10</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RGB12</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RGB16</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RGBA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RGBA2</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RGBA4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RGB5_A1</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RGBA8</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RGB10_A2</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RGBA12</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RGBA16</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SLUMINANCE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SLUMINANCE8</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SLUMINANCE_ALPHA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SLUMINANCE8_ALPHA8</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SRGB</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SRGB8</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SRGB_ALPHA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SRGB8_ALPHA8</span><br> <span class="keyword">end</span><br> <span class="keyword">type</span> pixel_data_format =<br> <span class="constructor">GL_COLOR_INDEX</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RED</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_GREEN</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_BLUE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ALPHA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RGB</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RGBA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LUMINANCE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LUMINANCE_ALPHA</span><br> <span class="keyword">type</span> pixel_data_type =<br> <span class="constructor">GL_UNSIGNED_BYTE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_BYTE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_BITMAP</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_SHORT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SHORT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_INT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_INT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_FLOAT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_BYTE_3_3_2</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_BYTE_2_3_3_REV</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_SHORT_5_6_5</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_SHORT_5_6_5_REV</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_SHORT_4_4_4_4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_SHORT_4_4_4_4_REV</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_SHORT_5_5_5_1</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_SHORT_1_5_5_5_REV</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_INT_8_8_8_8</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_INT_8_8_8_8_REV</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_INT_10_10_10_2</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_INT_2_10_10_10_REV</span><br> <span class="keyword">type</span> tex_internal_format =<br> <span class="constructor">Cnst</span> <span class="keyword">of</span> int<br> <span class="keywordsign">|</span> <span class="constructor">Enum</span> <span class="keyword">of</span> <span class="constructor">GL</span>.<span class="constructor">InternalFormat</span>.internal_format<br> <span class="keyword">type</span> img_input = <span class="constructor">Filename</span> <span class="keyword">of</span> string <span class="keywordsign">|</span> <span class="constructor">Buffer</span> <span class="keyword">of</span> string<br> <span class="keyword">type</span> image_data =<br> (int, <span class="constructor">Bigarray</span>.int8_unsigned_elt, <span class="constructor">Bigarray</span>.c_layout)<br> <span class="constructor">Bigarray</span>.<span class="constructor">Genarray</span>.t<br> <span class="keyword">val</span> assert_size : width:int <span class="keywordsign">-></span> height:int <span class="keywordsign">-></span> unit<br> <span class="keyword">external</span> glTexImage2D :<br> target:<span class="constructor">GL</span>.<span class="constructor">TexTarget</span>.target_2d <span class="keywordsign">-></span><br> level:int <span class="keywordsign">-></span><br> internal_format:<span class="constructor">GL</span>.tex_internal_format <span class="keywordsign">-></span><br> width:int <span class="keywordsign">-></span><br> height:int <span class="keywordsign">-></span><br> border:int <span class="keywordsign">-></span><br> format_:<span class="constructor">GL</span>.pixel_data_format <span class="keywordsign">-></span><br> type_:<span class="constructor">GL</span>.pixel_data_type <span class="keywordsign">-></span> pixels:<span class="constructor">GL</span>.image_data <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glteximage2d_bytecode"</span> <span class="string">"ml_glteximage2d_native"</span><br> <span class="keyword">external</span> glTexImage2D_str :<br> target:<span class="constructor">GL</span>.<span class="constructor">TexTarget</span>.target_2d <span class="keywordsign">-></span><br> level:int <span class="keywordsign">-></span><br> internal_format:<span class="constructor">GL</span>.tex_internal_format <span class="keywordsign">-></span><br> width:int <span class="keywordsign">-></span><br> height:int <span class="keywordsign">-></span><br> border:int <span class="keywordsign">-></span><br> format_:<span class="constructor">GL</span>.pixel_data_format <span class="keywordsign">-></span><br> type_:<span class="constructor">GL</span>.pixel_data_type <span class="keywordsign">-></span> pixels:string <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glteximage2d_str_bytecode"</span> <span class="string">"ml_glteximage2d_str_native"</span><br> <span class="keyword">external</span> glTexImage1D :<br> target:<span class="constructor">GL</span>.<span class="constructor">TexTarget</span>.target_1d <span class="keywordsign">-></span><br> level:int <span class="keywordsign">-></span><br> internal_format:<span class="constructor">GL</span>.tex_internal_format <span class="keywordsign">-></span><br> width:int <span class="keywordsign">-></span><br> border:int <span class="keywordsign">-></span><br> format_:<span class="constructor">GL</span>.pixel_data_format <span class="keywordsign">-></span><br> type_:<span class="constructor">GL</span>.pixel_data_type <span class="keywordsign">-></span> pixels:<span class="constructor">GL</span>.image_data <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glteximage1d_bytecode"</span> <span class="string">"ml_glteximage1d_native"</span><br> <span class="keyword">external</span> glTexImage3D :<br> target:<span class="constructor">GL</span>.<span class="constructor">TexTarget</span>.target_3d <span class="keywordsign">-></span><br> level:int <span class="keywordsign">-></span><br> internal_format:<span class="constructor">GL</span>.tex_internal_format <span class="keywordsign">-></span><br> width:int <span class="keywordsign">-></span><br> height:int <span class="keywordsign">-></span><br> depth:int <span class="keywordsign">-></span><br> border:int <span class="keywordsign">-></span><br> format_:<span class="constructor">GL</span>.pixel_data_format <span class="keywordsign">-></span><br> type_:<span class="constructor">GL</span>.pixel_data_type <span class="keywordsign">-></span> pixels:<span class="constructor">GL</span>.image_data <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glteximage3d_bytecode"</span> <span class="string">"ml_glteximage3d_native"</span><br> <span class="keyword">external</span> glTexCoord1 : s:float <span class="keywordsign">-></span> unit = <span class="string">"ml_gltexcoord1"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glTexCoord2 : s:float <span class="keywordsign">-></span> t:float <span class="keywordsign">-></span> unit = <span class="string">"ml_gltexcoord2"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glTexCoord3 : s:float <span class="keywordsign">-></span> t:float <span class="keywordsign">-></span> r:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_gltexcoord3"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glTexCoord4 : s:float <span class="keywordsign">-></span> t:float <span class="keywordsign">-></span> r:float <span class="keywordsign">-></span> q:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_gltexcoord4"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glTexCoord2v : v:float * float <span class="keywordsign">-></span> unit = <span class="string">"ml_gltexcoord2v"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glTexCoord3v : v:float * float * float <span class="keywordsign">-></span> unit = <span class="string">"ml_gltexcoord3v"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glTexCoord4v : v:float * float * float * float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_gltexcoord4v"</span> <span class="string">"noalloc"</span><br> <span class="keyword">module</span> <span class="constructor">Min</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> min_filter =<br> <span class="constructor">GL_NEAREST</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LINEAR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_NEAREST_MIPMAP_NEAREST</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LINEAR_MIPMAP_NEAREST</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_NEAREST_MIPMAP_LINEAR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LINEAR_MIPMAP_LINEAR</span><br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Mag</span> : <span class="keyword">sig</span> <span class="keyword">type</span> mag_filter = <span class="constructor">GL_NEAREST</span> <span class="keywordsign">|</span> <span class="constructor">GL_LINEAR</span> <span class="keyword">end</span><br> <span class="keyword">type</span> wrap_param =<br> <span class="constructor">GL_CLAMP</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CLAMP_TO_BORDER</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CLAMP_TO_EDGE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MIRRORED_REPEAT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_REPEAT</span><br> <span class="keyword">module</span> <span class="constructor">TexParam</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> tex_param_target =<br> <span class="constructor">GL_TEXTURE_1D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_2D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_3D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_CUBE_MAP</span><br> <span class="keyword">type</span> texture_compare_mode = <span class="constructor">GL_NONE</span><br> <span class="keyword">type</span> depth_texture_mode = <span class="constructor">GL_LUMINANCE</span> <span class="keywordsign">|</span> <span class="constructor">GL_INTENSITY</span> <span class="keywordsign">|</span> <span class="constructor">GL_ALPHA</span><br> <span class="keyword">type</span> tex_param =<br> <span class="constructor">GL_TEXTURE_MIN_FILTER</span> <span class="keyword">of</span> <span class="constructor">GL</span>.<span class="constructor">Min</span>.min_filter<br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_MAG_FILTER</span> <span class="keyword">of</span> <span class="constructor">GL</span>.<span class="constructor">Mag</span>.mag_filter<br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_MIN_LOD</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_MAX_LOD</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_BASE_LEVEL</span> <span class="keyword">of</span> int<br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_MAX_LEVEL</span> <span class="keyword">of</span> int<br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_WRAP_S</span> <span class="keyword">of</span> <span class="constructor">GL</span>.wrap_param<br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_WRAP_T</span> <span class="keyword">of</span> <span class="constructor">GL</span>.wrap_param<br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_WRAP_R</span> <span class="keyword">of</span> <span class="constructor">GL</span>.wrap_param<br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_BORDER_COLOR</span> <span class="keyword">of</span> (float * float * float * float)<br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_PRIORITY</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_COMPARE_MODE</span> <span class="keyword">of</span> <span class="constructor">GL</span>.<span class="constructor">TexParam</span>.texture_compare_mode<br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_COMPARE_FUNC</span> <span class="keyword">of</span> <span class="constructor">GL</span>.gl_func<br> <span class="keywordsign">|</span> <span class="constructor">GL_DEPTH_TEXTURE_MODE</span> <span class="keyword">of</span> <span class="constructor">GL</span>.<span class="constructor">TexParam</span>.depth_texture_mode<br> <span class="keywordsign">|</span> <span class="constructor">GL_GENERATE_MIPMAP</span> <span class="keyword">of</span> bool<br> <span class="keyword">end</span><br> <span class="keyword">val</span> glTexParameter :<br> target:<span class="constructor">GL</span>.<span class="constructor">TexParam</span>.tex_param_target <span class="keywordsign">-></span><br> param:<span class="constructor">GL</span>.<span class="constructor">TexParam</span>.tex_param <span class="keywordsign">-></span> unit<br> <span class="keyword">module</span> <span class="constructor">CopyTex</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> copy_tex_target =<br> <span class="constructor">GL_TEXTURE_2D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_CUBE_MAP_POSITIVE_X</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_CUBE_MAP_NEGATIVE_X</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_CUBE_MAP_POSITIVE_Y</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_CUBE_MAP_POSITIVE_Z</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</span><br> <span class="keyword">end</span><br> <span class="keyword">external</span> glCopyTexImage2D :<br> target:<span class="constructor">GL</span>.<span class="constructor">CopyTex</span>.copy_tex_target <span class="keywordsign">-></span><br> level:int <span class="keywordsign">-></span><br> internal_format:<span class="constructor">GL</span>.<span class="constructor">InternalFormat</span>.internal_format <span class="keywordsign">-></span><br> x:int <span class="keywordsign">-></span> y:int <span class="keywordsign">-></span> width:int <span class="keywordsign">-></span> height:int <span class="keywordsign">-></span> border:int <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glcopyteximage2d_bytecode"</span> <span class="string">"ml_glcopyteximage2d_native"</span><br> <span class="keyword">external</span> glSampleCoverage : value:float <span class="keywordsign">-></span> invert:bool <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glsamplecoverage"</span> <span class="string">"noalloc"</span><br> <span class="keyword">type</span> pixel_packing_b =<br> <span class="constructor">GL_PACK_SWAP_BYTES</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_PACK_LSB_FIRST</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNPACK_SWAP_BYTES</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNPACK_LSB_FIRST</span><br> <span class="keyword">external</span> glPixelStoreb :<br> pixel_packing:<span class="constructor">GL</span>.pixel_packing_b <span class="keywordsign">-></span> param:bool <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glpixelstoreb"</span> <span class="string">"noalloc"</span><br> <span class="keyword">type</span> pixel_packing_i =<br> <span class="constructor">GL_PACK_ROW_LENGTH</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_PACK_IMAGE_HEIGHT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_PACK_SKIP_PIXELS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_PACK_SKIP_ROWS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_PACK_SKIP_IMAGES</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_PACK_ALIGNMENT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNPACK_ROW_LENGTH</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNPACK_IMAGE_HEIGHT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNPACK_SKIP_PIXELS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNPACK_SKIP_ROWS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNPACK_SKIP_IMAGES</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNPACK_ALIGNMENT</span><br> <span class="keyword">external</span> glPixelStorei :<br> pixel_packing:<span class="constructor">GL</span>.pixel_packing_i <span class="keywordsign">-></span> param:int <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glpixelstorei"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glPixelZoom : xfactor:float <span class="keywordsign">-></span> yfactor:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glpixelzoom"</span> <span class="string">"noalloc"</span><br> <span class="keyword">type</span> pixel_map =<br> <span class="constructor">GL_PIXEL_MAP_I_TO_I</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_PIXEL_MAP_S_TO_S</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_PIXEL_MAP_I_TO_R</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_PIXEL_MAP_I_TO_G</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_PIXEL_MAP_I_TO_B</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_PIXEL_MAP_I_TO_A</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_PIXEL_MAP_R_TO_R</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_PIXEL_MAP_G_TO_G</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_PIXEL_MAP_B_TO_B</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_PIXEL_MAP_A_TO_A</span><br> <span class="keyword">external</span> glPixelMapfv : map:<span class="constructor">GL</span>.pixel_map <span class="keywordsign">-></span> v:float array <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glpixelmapfv"</span><br> <span class="keyword">external</span> glBitmap :<br> width:int <span class="keywordsign">-></span><br> height:int <span class="keywordsign">-></span><br> xorig:float <span class="keywordsign">-></span><br> yorig:float <span class="keywordsign">-></span><br> xmove:float <span class="keywordsign">-></span><br> ymove:float <span class="keywordsign">-></span> bitmap:(<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b, <span class="keywordsign">'</span>c) <span class="constructor">Bigarray</span>.<span class="constructor">Array1</span>.t <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glbitmap_bytecode"</span> <span class="string">"ml_glbitmap_native"</span><br> <span class="keyword">type</span> pixel_transfer_i = <span class="constructor">GL_INDEX_SHIFT</span> <span class="keywordsign">|</span> <span class="constructor">GL_INDEX_OFFSET</span><br> <span class="keyword">type</span> pixel_transfer_f =<br> <span class="constructor">GL_RED_SCALE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RED_BIAS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_GREEN_SCALE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_GREEN_BIAS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_BLUE_SCALE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_BLUE_BIAS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ALPHA_SCALE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ALPHA_BIAS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DEPTH_SCALE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DEPTH_BIAS</span><br> <span class="keyword">type</span> pixel_transfer_b = <span class="constructor">GL_MAP_COLOR</span> <span class="keywordsign">|</span> <span class="constructor">GL_MAP_STENCIL</span><br> <span class="keyword">type</span> pixel_transfer_f_ARB =<br> <span class="constructor">GL_POST_COLOR_MATRIX_RED_SCALE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POST_COLOR_MATRIX_GREEN_SCALE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POST_COLOR_MATRIX_BLUE_SCALE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POST_COLOR_MATRIX_ALPHA_SCALE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POST_COLOR_MATRIX_RED_BIAS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POST_COLOR_MATRIX_GREEN_BIAS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POST_COLOR_MATRIX_BLUE_BIAS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POST_COLOR_MATRIX_ALPHA_BIAS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POST_CONVOLUTION_RED_SCALE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POST_CONVOLUTION_GREEN_SCALE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POST_CONVOLUTION_BLUE_SCALE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POST_CONVOLUTION_ALPHA_SCALE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POST_CONVOLUTION_RED_BIAS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POST_CONVOLUTION_GREEN_BIAS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POST_CONVOLUTION_BLUE_BIAS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POST_CONVOLUTION_ALPHA_BIAS</span><br> <span class="keyword">external</span> glPixelTransferi : pname:<span class="constructor">GL</span>.pixel_transfer_i <span class="keywordsign">-></span> param:int <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glpixeltransferi"</span><br> <span class="keyword">external</span> glPixelTransferf :<br> pname:<span class="constructor">GL</span>.pixel_transfer_f <span class="keywordsign">-></span> param:float <span class="keywordsign">-></span> unit = <span class="string">"ml_glpixeltransferf"</span><br> <span class="keyword">external</span> glPixelTransferb : pname:<span class="constructor">GL</span>.pixel_transfer_b <span class="keywordsign">-></span> param:bool <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glpixeltransferb"</span><br> <span class="keyword">external</span> glPixelTransferfARB :<br> pname:<span class="constructor">GL</span>.pixel_transfer_f_ARB <span class="keywordsign">-></span> param:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glpixeltransferfARB"</span><br> <span class="keyword">module</span> <span class="constructor">Framebuffer</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> pixel_buffer_format =<br> <span class="constructor">GL_COLOR_INDEX</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_STENCIL_INDEX</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DEPTH_COMPONENT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RED</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_GREEN</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_BLUE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ALPHA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RGB</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_BGR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RGBA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_BGRA</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LUMINANCE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LUMINANCE_ALPHA</span><br> <span class="keyword">type</span> pixel_buffer_type =<br> <span class="constructor">GL_UNSIGNED_BYTE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_BYTE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_BITMAP</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_SHORT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SHORT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_INT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_INT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_FLOAT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_BYTE_3_3_2</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_BYTE_2_3_3_REV</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_SHORT_5_6_5</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_SHORT_5_6_5_REV</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_SHORT_4_4_4_4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_SHORT_4_4_4_4_REV</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_SHORT_5_5_5_1</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_SHORT_1_5_5_5_REV</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_INT_8_8_8_8</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_INT_8_8_8_8_REV</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_INT_10_10_10_2</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNSIGNED_INT_2_10_10_10_REV</span><br> <span class="keyword">end</span><br> <span class="keyword">external</span> glReadPixelsBA_unsafe :<br> x:int <span class="keywordsign">-></span><br> y:int <span class="keywordsign">-></span><br> width:int <span class="keywordsign">-></span><br> height:int <span class="keywordsign">-></span><br> <span class="constructor">GL</span>.<span class="constructor">Framebuffer</span>.pixel_buffer_format <span class="keywordsign">-></span><br> <span class="constructor">GL</span>.<span class="constructor">Framebuffer</span>.pixel_buffer_type <span class="keywordsign">-></span> <span class="constructor">GL</span>.image_data <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glreadpixels_ba_unsafe_bytecode"</span> <span class="string">"ml_glreadpixels_ba_unsafe_native"</span><br> <span class="keyword">external</span> glReadPixelsBA :<br> x:int <span class="keywordsign">-></span><br> y:int <span class="keywordsign">-></span><br> width:int <span class="keywordsign">-></span><br> height:int <span class="keywordsign">-></span><br> <span class="constructor">GL</span>.<span class="constructor">Framebuffer</span>.pixel_buffer_format <span class="keywordsign">-></span><br> <span class="constructor">GL</span>.<span class="constructor">Framebuffer</span>.pixel_buffer_type <span class="keywordsign">-></span> <span class="constructor">GL</span>.image_data <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glreadpixels_ba_bytecode"</span> <span class="string">"ml_glreadpixels_ba_native"</span><br> <span class="keyword">module</span> <span class="constructor">Plane</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> clip_plane =<br> <span class="constructor">GL_CLIP_PLANE0</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CLIP_PLANE1</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CLIP_PLANE2</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CLIP_PLANE3</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CLIP_PLANE4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CLIP_PLANE5</span><br> <span class="keyword">end</span><br> <span class="keyword">external</span> glClipPlane :<br> plane:<span class="constructor">GL</span>.<span class="constructor">Plane</span>.clip_plane <span class="keywordsign">-></span> equation:float array <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glclipplane"</span><br> <span class="keyword">external</span> glClipPlane_unsafe :<br> plane:<span class="constructor">GL</span>.<span class="constructor">Plane</span>.clip_plane <span class="keywordsign">-></span> equation:float array <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glclipplane_unsafe"</span><br> <span class="keyword">type</span> clip_plane_i = <span class="constructor">GL_CLIP_PLANE</span> <span class="keyword">of</span> int<br> <span class="keyword">val</span> glClipPlanei : plane:<span class="constructor">GL</span>.clip_plane_i <span class="keywordsign">-></span> equation:float array <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> glClipPlanei_unsafe :<br> plane:<span class="constructor">GL</span>.clip_plane_i <span class="keywordsign">-></span> equation:float array <span class="keywordsign">-></span> unit<br> <span class="keyword">module</span> <span class="constructor">Map1</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> map1_target =<br> <span class="constructor">GL_MAP1_VERTEX_3</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_VERTEX_4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_INDEX</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_COLOR_4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_NORMAL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_TEXTURE_COORD_1</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_TEXTURE_COORD_2</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_TEXTURE_COORD_3</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_TEXTURE_COORD_4</span><br> <span class="keyword">end</span><br> <span class="keyword">external</span> glMap1 :<br> target:<span class="constructor">GL</span>.<span class="constructor">Map1</span>.map1_target <span class="keywordsign">-></span><br> u1:float <span class="keywordsign">-></span><br> u2:float <span class="keywordsign">-></span> stride:int <span class="keywordsign">-></span> order:int <span class="keywordsign">-></span> points:float array <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glmap1d_bytecode"</span> <span class="string">"ml_glmap1d_native"</span><br> <span class="keyword">module</span> <span class="constructor">Map2</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> map2_target =<br> <span class="constructor">GL_MAP2_VERTEX_3</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_VERTEX_4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_INDEX</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_COLOR_4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_NORMAL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_TEXTURE_COORD_1</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_TEXTURE_COORD_2</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_TEXTURE_COORD_3</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_TEXTURE_COORD_4</span><br> <span class="keyword">end</span><br> <span class="keyword">external</span> glMap2 :<br> target:<span class="constructor">GL</span>.<span class="constructor">Map2</span>.map2_target <span class="keywordsign">-></span><br> u1:float <span class="keywordsign">-></span><br> u2:float <span class="keywordsign">-></span><br> ustride:int <span class="keywordsign">-></span><br> uorder:int <span class="keywordsign">-></span><br> v1:float <span class="keywordsign">-></span><br> v2:float <span class="keywordsign">-></span><br> vstride:int <span class="keywordsign">-></span> vorder:int <span class="keywordsign">-></span> points:float array array array <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glmap2d_bytecode"</span> <span class="string">"ml_glmap2d_native"</span><br> <span class="keyword">external</span> glEvalCoord1 : u:float <span class="keywordsign">-></span> unit = <span class="string">"ml_glevalcoord1d"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glEvalCoord2 : u:float <span class="keywordsign">-></span> v:float <span class="keywordsign">-></span> unit = <span class="string">"ml_glevalcoord2d"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">module</span> <span class="constructor">EvalMesh1</span> : <span class="keyword">sig</span> <span class="keyword">type</span> eval_mesh_1 = <span class="constructor">GL_POINT</span> <span class="keywordsign">|</span> <span class="constructor">GL_LINE</span> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">EvalMesh2</span> : <span class="keyword">sig</span> <span class="keyword">type</span> eval_mesh_2 = <span class="constructor">GL_POINT</span> <span class="keywordsign">|</span> <span class="constructor">GL_LINE</span> <span class="keywordsign">|</span> <span class="constructor">GL_FILL</span> <span class="keyword">end</span><br> <span class="keyword">external</span> glEvalMesh1 :<br> mode:<span class="constructor">GL</span>.<span class="constructor">EvalMesh1</span>.eval_mesh_1 <span class="keywordsign">-></span> i1:int <span class="keywordsign">-></span> i2:int <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glevalmesh1"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glEvalMesh2 :<br> mode:<span class="constructor">GL</span>.<span class="constructor">EvalMesh2</span>.eval_mesh_2 <span class="keywordsign">-></span><br> i1:int <span class="keywordsign">-></span> i2:int <span class="keywordsign">-></span> j1:int <span class="keywordsign">-></span> j2:int <span class="keywordsign">-></span> unit = <span class="string">"ml_glevalmesh2"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glMapGrid1 : un:int <span class="keywordsign">-></span> u1:float <span class="keywordsign">-></span> u2:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glmapgrid1d"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glMapGrid2 :<br> un:int <span class="keywordsign">-></span> u1:float <span class="keywordsign">-></span> u2:float <span class="keywordsign">-></span> vn:int <span class="keywordsign">-></span> v1:float <span class="keywordsign">-></span> v2:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glmapgrid2d_bytecode"</span> <span class="string">"ml_glmapgrid2d_native"</span><br> <span class="keyword">module</span> <span class="constructor">Attrib</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> attrib_bit =<br> <span class="constructor">GL_ACCUM_BUFFER_BIT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COLOR_BUFFER_BIT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CURRENT_BIT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DEPTH_BUFFER_BIT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ENABLE_BIT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_EVAL_BIT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_FOG_BIT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_HINT_BIT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHTING_BIT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LINE_BIT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIST_BIT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MULTISAMPLE_BIT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_PIXEL_MODE_BIT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POINT_BIT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POLYGON_BIT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POLYGON_STIPPLE_BIT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SCISSOR_BIT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_STENCIL_BUFFER_BIT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_BIT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TRANSFORM_BIT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_VIEWPORT_BIT</span><br> <span class="keyword">end</span><br> <span class="keyword">external</span> glPushAttrib : attrib:<span class="constructor">GL</span>.<span class="constructor">Attrib</span>.attrib_bit list <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glpushattrib"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glPopAttrib : unit <span class="keywordsign">-></span> unit = <span class="string">"ml_glpopattrib"</span> <span class="string">"noalloc"</span><br> <span class="keyword">type</span> list_mode = <span class="constructor">GL_COMPILE</span> <span class="keywordsign">|</span> <span class="constructor">GL_COMPILE_AND_EXECUTE</span><br> <span class="keyword">external</span> glNewList : gl_list:int <span class="keywordsign">-></span> mode:<span class="constructor">GL</span>.list_mode <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glnewlist"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glEndList : unit <span class="keywordsign">-></span> unit = <span class="string">"ml_glendlist"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glGenLists : range:int <span class="keywordsign">-></span> int = <span class="string">"ml_glgenlists"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glCallList : gl_list:int <span class="keywordsign">-></span> unit = <span class="string">"ml_glcalllist"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glCallLists : gl_lists:int array <span class="keywordsign">-></span> unit = <span class="string">"ml_glcalllists"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glDeleteLists : gl_list:int <span class="keywordsign">-></span> range:int <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_gldeletelists"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glListBase : base:int <span class="keywordsign">-></span> unit = <span class="string">"ml_gllistbase"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glIsList : gl_list:int <span class="keywordsign">-></span> bool = <span class="string">"ml_glislist"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glGetListMode : unit <span class="keywordsign">-></span> <span class="constructor">GL</span>.list_mode = <span class="string">"ml_glgetlistmode"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">type</span> render_mode = <span class="constructor">GL_RENDER</span> <span class="keywordsign">|</span> <span class="constructor">GL_SELECT</span> <span class="keywordsign">|</span> <span class="constructor">GL_FEEDBACK</span><br> <span class="keyword">external</span> glRenderMode : mode:<span class="constructor">GL</span>.render_mode <span class="keywordsign">-></span> int = <span class="string">"ml_glrendermode"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glInitNames : unit <span class="keywordsign">-></span> unit = <span class="string">"ml_glinitnames"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glLoadName : name:int <span class="keywordsign">-></span> unit = <span class="string">"ml_glloadname"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glPushName : name:int <span class="keywordsign">-></span> unit = <span class="string">"ml_glpushname"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glPopName : unit <span class="keywordsign">-></span> unit = <span class="string">"ml_glpopname"</span> <span class="string">"noalloc"</span><br> <span class="keyword">type</span> select_buffer<br> <span class="keyword">external</span> new_select_buffer : buffer_size:int <span class="keywordsign">-></span> <span class="constructor">GL</span>.select_buffer<br> = <span class="string">"ml_alloc_select_buffer"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> free_select_buffer : select_buffer:<span class="constructor">GL</span>.select_buffer <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_free_select_buffer"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> select_buffer_get :<br> select_buffer:<span class="constructor">GL</span>.select_buffer <span class="keywordsign">-></span> index:int <span class="keywordsign">-></span> int<br> = <span class="string">"ml_select_buffer_get"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glSelectBuffer :<br> buffer_size:int <span class="keywordsign">-></span> select_buffer:<span class="constructor">GL</span>.select_buffer <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glselectbuffer"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glSelectBufferBA :<br> (nativeint, <span class="constructor">Bigarray</span>.nativeint_elt, <span class="constructor">Bigarray</span>.c_layout) <span class="constructor">Bigarray</span>.<span class="constructor">Array1</span>.t <span class="keywordsign">-></span><br> unit = <span class="string">"ml_glselectbuffer_ba"</span> <span class="string">"noalloc"</span><br> <span class="keyword">type</span> fog_mode = <span class="constructor">GL_LINEAR</span> <span class="keywordsign">|</span> <span class="constructor">GL_EXP</span> <span class="keywordsign">|</span> <span class="constructor">GL_EXP2</span><br> <span class="keyword">type</span> fog_coord_src = <span class="constructor">GL_FOG_COORD</span> <span class="keywordsign">|</span> <span class="constructor">GL_FRAGMENT_DEPTH</span><br> <span class="keyword">type</span> fog_param =<br> <span class="constructor">GL_FOG_MODE</span> <span class="keyword">of</span> <span class="constructor">GL</span>.fog_mode<br> <span class="keywordsign">|</span> <span class="constructor">GL_FOG_DENSITY</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="constructor">GL_FOG_START</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="constructor">GL_FOG_END</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="constructor">GL_FOG_INDEX</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="constructor">GL_FOG_COLOR</span> <span class="keyword">of</span> (float * float * float * float)<br> <span class="keywordsign">|</span> <span class="constructor">GL_FOG_COORD_SRC</span> <span class="keyword">of</span> <span class="constructor">GL</span>.fog_coord_src<br> <span class="keyword">val</span> glFog : pname:<span class="constructor">GL</span>.fog_param <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> shader_object<br> <span class="keyword">type</span> shader_program<br> <span class="keyword">type</span> shader_type = <span class="constructor">GL_VERTEX_SHADER</span> <span class="keywordsign">|</span> <span class="constructor">GL_FRAGMENT_SHADER</span><br> <span class="keyword">external</span> glCreateShader : shader_type:<span class="constructor">GL</span>.shader_type <span class="keywordsign">-></span> <span class="constructor">GL</span>.shader_object<br> = <span class="string">"ml_glcreateshader"</span><br> <span class="keyword">external</span> glDeleteShader : shader:<span class="constructor">GL</span>.shader_object <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_gldeleteshader"</span><br> <span class="keyword">external</span> glIsShader : shader:<span class="constructor">GL</span>.shader_object <span class="keywordsign">-></span> bool = <span class="string">"ml_glisshader"</span><br> <span class="keyword">external</span> glShaderSource : shader:<span class="constructor">GL</span>.shader_object <span class="keywordsign">-></span> string <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glshadersource"</span><br> <span class="keyword">external</span> glCompileShader : shader:<span class="constructor">GL</span>.shader_object <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glcompileshader"</span><br> <span class="keyword">external</span> glCreateProgram : unit <span class="keywordsign">-></span> <span class="constructor">GL</span>.shader_program = <span class="string">"ml_glcreateprogram"</span><br> <span class="keyword">external</span> glDeleteProgram : program:<span class="constructor">GL</span>.shader_program <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_gldeleteprogram"</span><br> <span class="keyword">external</span> glAttachShader :<br> program:<span class="constructor">GL</span>.shader_program <span class="keywordsign">-></span> shader:<span class="constructor">GL</span>.shader_object <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glattachshader"</span><br> <span class="keyword">external</span> glDetachShader :<br> program:<span class="constructor">GL</span>.shader_program <span class="keywordsign">-></span> shader:<span class="constructor">GL</span>.shader_object <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_gldetachshader"</span><br> <span class="keyword">external</span> glLinkProgram : program:<span class="constructor">GL</span>.shader_program <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_gllinkprogram"</span><br> <span class="keyword">external</span> glUseProgram : program:<span class="constructor">GL</span>.shader_program <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_gluseprogram"</span><br> <span class="keyword">external</span> glGetUniformLocation :<br> program:<span class="constructor">GL</span>.shader_program <span class="keywordsign">-></span> name:string <span class="keywordsign">-></span> int<br> = <span class="string">"ml_glgetuniformlocation"</span><br> <span class="keyword">type</span> get_program_bool =<br> <span class="constructor">GL_DELETE_STATUS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LINK_STATUS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_VALIDATE_STATUS</span><br> <span class="keyword">type</span> get_program_int =<br> <span class="constructor">GL_INFO_LOG_LENGTH</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ATTACHED_SHADERS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ACTIVE_ATTRIBUTES</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ACTIVE_ATTRIBUTE_MAX_LENGTH</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ACTIVE_UNIFORMS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ACTIVE_UNIFORM_MAX_LENGTH</span><br> <span class="keyword">external</span> glGetProgrami :<br> program:<span class="constructor">GL</span>.shader_program <span class="keywordsign">-></span> pname:<span class="constructor">GL</span>.get_program_int <span class="keywordsign">-></span> int<br> = <span class="string">"ml_glgetprogram_int"</span><br> <span class="keyword">external</span> glGetProgramb :<br> program:<span class="constructor">GL</span>.shader_program <span class="keywordsign">-></span> pname:<span class="constructor">GL</span>.get_program_bool <span class="keywordsign">-></span> bool<br> = <span class="string">"ml_glgetprogram_bool"</span><br> <span class="keyword">external</span> glUniform1f : location:int <span class="keywordsign">-></span> v0:float <span class="keywordsign">-></span> unit = <span class="string">"ml_gluniform1f"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glUniform2f : location:int <span class="keywordsign">-></span> v0:float <span class="keywordsign">-></span> v1:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_gluniform2f"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glUniform3f :<br> location:int <span class="keywordsign">-></span> v0:float <span class="keywordsign">-></span> v1:float <span class="keywordsign">-></span> v2:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_gluniform3f"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glUniform4f :<br> location:int <span class="keywordsign">-></span> v0:float <span class="keywordsign">-></span> v1:float <span class="keywordsign">-></span> v2:float <span class="keywordsign">-></span> v3:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_gluniform4f"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glUniform1i : location:int <span class="keywordsign">-></span> v0:int <span class="keywordsign">-></span> unit = <span class="string">"ml_gluniform1i"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glUniform2i : location:int <span class="keywordsign">-></span> v0:int <span class="keywordsign">-></span> v1:int <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_gluniform2i"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glUniform3i : location:int <span class="keywordsign">-></span> v0:int <span class="keywordsign">-></span> v1:int <span class="keywordsign">-></span> v2:int <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_gluniform3i"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glUniform4i :<br> location:int <span class="keywordsign">-></span> v0:int <span class="keywordsign">-></span> v1:int <span class="keywordsign">-></span> v2:int <span class="keywordsign">-></span> v3:int <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_gluniform4i"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glGetAttribLocation :<br> program:<span class="constructor">GL</span>.shader_program <span class="keywordsign">-></span> name:string <span class="keywordsign">-></span> int<br> = <span class="string">"ml_glgetattriblocation"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glBindAttribLocation :<br> program:<span class="constructor">GL</span>.shader_program <span class="keywordsign">-></span> index:int <span class="keywordsign">-></span> name:string <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glbindattriblocation"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glVertexAttrib1s : index:int <span class="keywordsign">-></span> v:int <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glvertexattrib1s"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glVertexAttrib1d : index:int <span class="keywordsign">-></span> v:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glvertexattrib1d"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glVertexAttrib2s : index:int <span class="keywordsign">-></span> v0:int <span class="keywordsign">-></span> v1:int <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glvertexattrib2s"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glVertexAttrib2d : index:int <span class="keywordsign">-></span> v0:float <span class="keywordsign">-></span> v1:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glvertexattrib2d"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glVertexAttrib3s : index:int <span class="keywordsign">-></span> v0:int <span class="keywordsign">-></span> v1:int <span class="keywordsign">-></span> v2:int <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glvertexattrib3s"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glVertexAttrib3d :<br> index:int <span class="keywordsign">-></span> v0:float <span class="keywordsign">-></span> v1:float <span class="keywordsign">-></span> v2:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glvertexattrib3d"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glVertexAttrib4s :<br> index:int <span class="keywordsign">-></span> v0:int <span class="keywordsign">-></span> v1:int <span class="keywordsign">-></span> v2:int <span class="keywordsign">-></span> v3:int <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glvertexattrib4s"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glVertexAttrib4d :<br> index:int <span class="keywordsign">-></span> v0:float <span class="keywordsign">-></span> v1:float <span class="keywordsign">-></span> v2:float <span class="keywordsign">-></span> v3:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glvertexattrib4d"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glGetShaderInfoLog : <span class="constructor">GL</span>.shader_object <span class="keywordsign">-></span> string<br> = <span class="string">"ml_glgetshaderinfolog"</span><br> <span class="keyword">external</span> glGetProgramInfoLog : <span class="constructor">GL</span>.shader_program <span class="keywordsign">-></span> string<br> = <span class="string">"ml_glgetprograminfolog"</span><br> <span class="keyword">module</span> <span class="constructor">Get</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> get_boolean_1 =<br> <span class="constructor">GL_ALPHA_TEST</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_AUTO_NORMAL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_BLEND</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CLIP_PLANE0</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CLIP_PLANE1</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CLIP_PLANE2</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CLIP_PLANE3</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CLIP_PLANE4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CLIP_PLANE5</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COLOR_ARRAY</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COLOR_LOGIC_OP</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COLOR_MATERIAL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COLOR_SUM</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COLOR_TABLE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CONVOLUTION_1D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CONVOLUTION_2D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CULL_FACE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CURRENT_RASTER_POSITION_VALID</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DEPTH_TEST</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DEPTH_WRITEMASK</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DITHER</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DOUBLEBUFFER</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_EDGE_FLAG</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_EDGE_FLAG_ARRAY</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_FOG</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_FOG_COORD_ARRAY</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_HISTOGRAM</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_INDEX_ARRAY</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_INDEX_LOGIC_OP</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_INDEX_MODE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT0</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT1</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT2</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT3</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT5</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT6</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT7</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHTING</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT_MODEL_LOCAL_VIEWER</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT_MODEL_TWO_SIDE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LINE_SMOOTH</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LINE_STIPPLE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_INDEX</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_NORMAL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_TEXTURE_COORD_1</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_TEXTURE_COORD_2</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_TEXTURE_COORD_3</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_TEXTURE_COORD_4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_VERTEX_3</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP1_VERTEX_4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_COLOR_4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_INDEX</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_NORMAL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_TEXTURE_COORD_1</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_TEXTURE_COORD_2</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_TEXTURE_COORD_3</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_TEXTURE_COORD_4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_VERTEX_3</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_VERTEX_4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP_COLOR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP_STENCIL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MINMAX</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_NORMAL_ARRAY</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_NORMALIZE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_PACK_SWAP_BYTES</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POINT_SMOOTH</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POINT_SPRITE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POLYGON_OFFSET_FILL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POLYGON_OFFSET_LINE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POLYGON_OFFSET_POINT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POLYGON_SMOOTH</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POLYGON_STIPPLE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POST_COLOR_MATRIX_COLOR_TABLE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_PACK_LSB_FIRST</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POST_CONVOLUTION_COLOR_TABLE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RESCALE_NORMAL</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RGBA_MODE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SAMPLE_COVERAGE_INVERT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SCISSOR_TEST</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SECONDARY_COLOR_ARRAY</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SEPARABLE_2D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_STENCIL_TEST</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_STEREO</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_1D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_2D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_3D</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_COORD_ARRAY</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_CUBE_MAP</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_GEN_Q</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_GEN_R</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_GEN_S</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_GEN_T</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNPACK_LSB_FIRST</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNPACK_SWAP_BYTES</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_VERTEX_ARRAY</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_VERTEX_PROGRAM_POINT_SIZE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_VERTEX_PROGRAM_TWO_SIDE</span><br> <span class="keyword">type</span> get_boolean_4 = <span class="constructor">GL_COLOR_WRITEMASK</span><br> <span class="keyword">type</span> get_integer_4 = <span class="constructor">GL_VIEWPORT</span> <span class="keywordsign">|</span> <span class="constructor">GL_SCISSOR_BOX</span><br> <span class="keyword">type</span> get_integer_1 =<br> <span class="constructor">GL_ACCUM_RED_BITS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ACCUM_GREEN_BITS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ACCUM_BLUE_BITS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ACCUM_ALPHA_BITS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CURRENT_RASTER_INDEX</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIST_BASE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIST_INDEX</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAX_LIGHTS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAX_LIST_NESTING</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAX_TEXTURE_SIZE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAX_TEXTURE_COORDS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ACTIVE_TEXTURE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAX_TEXTURE_UNITS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAX_ELEMENTS_INDICES</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAX_ELEMENTS_VERTICES</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SUBPIXEL_BITS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DEPTH_BITS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_STENCIL_BITS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_NAME_STACK_DEPTH</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNPACK_IMAGE_HEIGHT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNPACK_ROW_LENGTH</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNPACK_SKIP_IMAGES</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNPACK_SKIP_PIXELS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_UNPACK_SKIP_ROWS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COLOR_MATRIX_STACK_DEPTH</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MODELVIEW_STACK_DEPTH</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_PROJECTION_STACK_DEPTH</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_STACK_DEPTH</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAX_MODELVIEW_STACK_DEPTH</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAX_PROJECTION_STACK_DEPTH</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAX_TEXTURE_STACK_DEPTH</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SAMPLE_BUFFERS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SAMPLES</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAX_CLIP_PLANES</span><br> <span class="keyword">type</span> get_float_3 = <span class="constructor">GL_CURRENT_NORMAL</span> <span class="keywordsign">|</span> <span class="constructor">GL_POINT_DISTANCE_ATTENUATION</span><br> <span class="keyword">type</span> get_float_4 =<br> <span class="constructor">GL_ACCUM_CLEAR_VALUE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_BLEND_COLOR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_COLOR_CLEAR_VALUE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CURRENT_COLOR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CURRENT_RASTER_COLOR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CURRENT_RASTER_POSITION</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CURRENT_RASTER_SECONDARY_COLOR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CURRENT_RASTER_TEXTURE_COORDS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CURRENT_SECONDARY_COLOR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CURRENT_TEXTURE_COORDS</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_FOG_COLOR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT_MODEL_AMBIENT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MAP2_GRID_DOMAIN</span><br> <span class="keyword">type</span> get_matrix =<br> <span class="constructor">GL_COLOR_MATRIX</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_MODELVIEW_MATRIX</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_PROJECTION_MATRIX</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE_MATRIX</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TRANSPOSE_COLOR_MATRIX</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TRANSPOSE_MODELVIEW_MATRIX</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TRANSPOSE_PROJECTION_MATRIX</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TRANSPOSE_TEXTURE_MATRIX</span><br> <span class="keyword">type</span> get_float_1 =<br> <span class="constructor">GL_CURRENT_RASTER_DISTANCE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_FOG_DENSITY</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_FOG_END</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_FOG_INDEX</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_FOG_START</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_INDEX_CLEAR_VALUE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LINE_WIDTH</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LINE_WIDTH_GRANULARITY</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POINT_SIZE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_STENCIL_CLEAR_VALUE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DEPTH_CLEAR_VALUE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SAMPLE_COVERAGE_VALUE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ZOOM_X</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ZOOM_Y</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_ALPHA_SCALE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_BLUE_SCALE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DEPTH_SCALE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_GREEN_SCALE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RED_SCALE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POINT_SIZE_GRANULARITY</span><br> <span class="keyword">type</span> get_float_2 = <span class="constructor">GL_LINE_WIDTH_RANGE</span> <span class="keywordsign">|</span> <span class="constructor">GL_POINT_SIZE_RANGE</span><br> <span class="keyword">type</span> get_light =<br> <span class="constructor">GL_SPOT_EXPONENT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SPOT_CUTOFF</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_CONSTANT_ATTENUATION</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LINEAR_ATTENUATION</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_QUADRATIC_ATTENUATION</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SPOT_DIRECTION</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_AMBIENT</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_DIFFUSE</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SPECULAR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_POSITION</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_LIGHT_MODEL_COLOR_CONTROL</span><br> <span class="keyword">end</span><br> <span class="keyword">external</span> glGetBoolean1 : <span class="constructor">GL</span>.<span class="constructor">Get</span>.get_boolean_1 <span class="keywordsign">-></span> bool = <span class="string">"ml_glgetboolean1"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glGetBoolean4 : <span class="constructor">GL</span>.<span class="constructor">Get</span>.get_boolean_4 <span class="keywordsign">-></span> bool * bool * bool * bool<br> = <span class="string">"ml_glgetboolean4"</span><br> <span class="keyword">external</span> glGetInteger4 : <span class="constructor">GL</span>.<span class="constructor">Get</span>.get_integer_4 <span class="keywordsign">-></span> int * int * int * int<br> = <span class="string">"ml_glgetinteger4"</span><br> <span class="keyword">external</span> glGetInteger1 : <span class="constructor">GL</span>.<span class="constructor">Get</span>.get_integer_1 <span class="keywordsign">-></span> int = <span class="string">"ml_glgetinteger1"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glGetFloat4 : <span class="constructor">GL</span>.<span class="constructor">Get</span>.get_float_4 <span class="keywordsign">-></span> float * float * float * float<br> = <span class="string">"ml_glgetfloat4"</span><br> <span class="keyword">external</span> glGetFloat3 : <span class="constructor">GL</span>.<span class="constructor">Get</span>.get_float_3 <span class="keywordsign">-></span> float * float * float<br> = <span class="string">"ml_glgetfloat3"</span><br> <span class="keyword">external</span> glGetFloat2 : <span class="constructor">GL</span>.<span class="constructor">Get</span>.get_float_2 <span class="keywordsign">-></span> float * float<br> = <span class="string">"ml_glgetfloat2"</span><br> <span class="keyword">external</span> glGetFloat1 : <span class="constructor">GL</span>.<span class="constructor">Get</span>.get_float_1 <span class="keywordsign">-></span> float = <span class="string">"ml_glgetfloat1"</span><br> <span class="keyword">external</span> glGetMatrix : <span class="constructor">GL</span>.<span class="constructor">Get</span>.get_matrix <span class="keywordsign">-></span> float array array<br> = <span class="string">"ml_glgetmatrix"</span><br> <span class="keyword">external</span> glGetMatrixFlat : <span class="constructor">GL</span>.<span class="constructor">Get</span>.get_matrix <span class="keywordsign">-></span> float array<br> = <span class="string">"ml_glgetmatrix_flat"</span><br> <span class="keyword">type</span> get_string =<br> <span class="constructor">GL_VENDOR</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_RENDERER</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_VERSION</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_SHADING_LANGUAGE_VERSION</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_EXTENSIONS</span><br> <span class="keyword">external</span> glGetString : name:<span class="constructor">GL</span>.get_string <span class="keywordsign">-></span> string = <span class="string">"ml_glgetstring"</span><br> <span class="keyword">type</span> tuple_params =<br> <span class="constructor">P1</span> <span class="keyword">of</span> float<br> <span class="keywordsign">|</span> <span class="constructor">P3</span> <span class="keyword">of</span> float * float * float<br> <span class="keywordsign">|</span> <span class="constructor">P4</span> <span class="keyword">of</span> float * float * float * float<br> <span class="keywordsign">|</span> <span class="constructor">PCC</span> <span class="keyword">of</span> <span class="constructor">GL</span>.color_control<br> <span class="keyword">val</span> glGetLight :<br> light:<span class="constructor">GL</span>.gl_light <span class="keywordsign">-></span> pname:<span class="constructor">GL</span>.<span class="constructor">Get</span>.get_light <span class="keywordsign">-></span> <span class="constructor">GL</span>.tuple_params<br> <span class="keyword">type</span> texture_i =<br> <span class="constructor">GL_TEXTURE0</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE1</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE2</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE3</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE4</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE5</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE6</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE7</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE8</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE9</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE10</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE11</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE12</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE13</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE14</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE15</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE16</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE17</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE18</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE19</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE20</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE21</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE22</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE23</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE24</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE25</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE26</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE27</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE28</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE29</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE30</span><br> <span class="keywordsign">|</span> <span class="constructor">GL_TEXTURE31</span><br> <span class="keyword">external</span> glActiveTexture : texture:<span class="constructor">GL</span>.texture_i <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glactivetexture"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glActiveTexturei : texture:int <span class="keywordsign">-></span> unit = <span class="string">"ml_glactivetexture_i"</span><br> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glMultiTexCoord2 :<br> texture:<span class="constructor">GL</span>.texture_i <span class="keywordsign">-></span> s:float <span class="keywordsign">-></span> t:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glmultitexcoord2f"</span> <span class="string">"noalloc"</span><br> <span class="keyword">external</span> glMultiTexCoord2i : texture:int <span class="keywordsign">-></span> s:float <span class="keywordsign">-></span> t:float <span class="keywordsign">-></span> unit<br> = <span class="string">"ml_glmultitexcoord2f_i"</span><br> <span class="keyword">end</span></code></body></html>