glMLite
  1. Overview
  2. Docs
type primitive =
  1. | GL_POINTS
  2. | GL_LINES
  3. | GL_LINE_LOOP
  4. | GL_LINE_STRIP
  5. | GL_TRIANGLES
  6. | GL_TRIANGLE_STRIP
  7. | GL_TRIANGLE_FAN
  8. | GL_QUADS
  9. | GL_QUAD_STRIP
  10. | GL_POLYGON
val glBegin : primitive:primitive -> unit
val glEnd : unit -> unit
val glVertex2 : x:float -> y:float -> unit
val glVertex3 : x:float -> y:float -> z:float -> unit
val glVertex4 : x:float -> y:float -> z:float -> w:float -> unit
val glVertex2v : (float * float) -> unit
val glVertex3v : (float * float * float) -> unit
val glVertex4v : (float * float * float * float) -> unit
val glNormal3 : nx:float -> ny:float -> nz:float -> unit
val glNormal3v : v:(float * float * float) -> unit
val glIndex : c:float -> unit
val glIndexi : c:int -> unit
val glColor3 : r:float -> g:float -> b:float -> unit
val glColor4 : r:float -> g:float -> b:float -> a:float -> unit
val glColor3v : v:(float * float * float) -> unit
val glColor4v : v:(float * float * float * float) -> unit
val glColor3c : r:char -> g:char -> b:char -> unit
val glColor4c : r:char -> g:char -> b:char -> a:char -> unit
val glColor3cv : v:(char * char * char) -> unit
val glColor4cv : v:(char * char * char * char) -> unit
val glEdgeFlag : flag:bool -> unit
val glRasterPos2 : x:float -> y:float -> unit
val glRasterPos3 : x:float -> y:float -> z:float -> unit
val glRasterPos4 : x:float -> y:float -> z:float -> w:float -> unit
val glRasterPos2i : x:int -> y:int -> unit
val glRasterPos3i : x:int -> y:int -> z:int -> unit
val glRasterPos4i : x:int -> y:int -> z:int -> w:int -> unit
val glRasterPos2v : v:(float * float) -> unit
val glRasterPos3v : v:(float * float * float) -> unit
val glRasterPos4v : v:(float * float * float * float) -> unit
val glRasterPos2iv : v:(int * int) -> unit
val glRasterPos3iv : v:(int * int * int) -> unit
val glRasterPos4iv : v:(int * int * int * int) -> unit
val glRecti : x1:int -> y1:int -> x2:int -> y2:int -> unit
val glRect : x1:float -> y1:float -> x2:float -> y2:float -> unit
type matrix_mode =
  1. | GL_MODELVIEW
  2. | GL_PROJECTION
  3. | GL_TEXTURE
val glMatrixMode : mode:matrix_mode -> unit
val glViewport : x:int -> y:int -> width:int -> height:int -> unit
val glOrtho : left:float -> right:float -> bottom:float -> top:float -> near:float -> far:float -> unit
val glFrustum : left:float -> right:float -> bottom:float -> top:float -> near:float -> far:float -> unit
val glPushMatrix : unit -> unit
val glPopMatrix : unit -> unit
val glLoadIdentity : unit -> unit
val glRotatev : angle:float -> vec:(float * float * float) -> unit
val glRotate : angle:float -> x:float -> y:float -> z:float -> unit
val glTranslatev : (float * float * float) -> unit
val glTranslate : x:float -> y:float -> z:float -> unit
val glScalev : (float * float * float) -> unit
val glScale : x:float -> y:float -> z:float -> unit
val glMultMatrix : mat:float array array -> unit
val glMultMatrixFlat : float array -> unit
val glMultMatrixFlat_unsafe : float array -> unit
val glLoadMatrix : mat:float array array -> unit
val glLoadMatrixFlat : float array -> unit
val glLoadMatrixFlat_unsafe : float array -> unit
val glFlush : unit -> unit
type orientation =
  1. | GL_CW
  2. | GL_CCW
val glFrontFace : orientation:orientation -> unit
val glScissor : x:int -> y:int -> width:int -> height:int -> unit
val glFinish : unit -> unit
val glClearColor : r:float -> g:float -> b:float -> a:float -> unit
val glClearIndex : float -> unit
val glColorMask : r:bool -> g:bool -> b:bool -> a:bool -> unit
module Attrib : sig ... end
val glPushAttrib : attrib:Attrib.attrib_bit list -> unit
val glPopAttrib : unit -> unit
type face_mode =
  1. | GL_FRONT
  2. | GL_BACK
  3. | GL_FRONT_AND_BACK
type polygon_mode =
  1. | GL_POINT
  2. | GL_LINE
  3. | GL_FILL
val glPolygonMode : face:face_mode -> mode:polygon_mode -> unit
val glGetPolygonMode : unit -> polygon_mode * polygon_mode
type clear_mask =
  1. | GL_COLOR_BUFFER_BIT
  2. | GL_DEPTH_BUFFER_BIT
  3. | GL_ACCUM_BUFFER_BIT
  4. | GL_STENCIL_BUFFER_BIT
val glClear : mask:clear_mask list -> unit
val glLineWidth : width:float -> unit
val glPointSize : size:float -> unit
type sprite_coord_origin =
  1. | GL_LOWER_LEFT
  2. | GL_UPPER_LEFT
type point_parameter =
  1. | GL_POINT_SIZE_MIN of float
  2. | GL_POINT_SIZE_MAX of float
  3. | GL_POINT_FADE_THRESHOLD_SIZE of float
  4. | GL_POINT_DISTANCE_ATTENUATION of float * float * float
  5. | GL_POINT_SPRITE_COORD_ORIGIN of sprite_coord_origin
val glPointParameter : point_parameter -> unit
type gl_func =
  1. | GL_NEVER
  2. | GL_LESS
  3. | GL_EQUAL
  4. | GL_LEQUAL
  5. | GL_GREATER
  6. | GL_NOTEQUAL
  7. | GL_GEQUAL
  8. | GL_ALWAYS
val glAlphaFunc : func:gl_func -> ref:float -> unit
type hint_target =
  1. | GL_FOG_HINT
  2. | GL_LINE_SMOOTH_HINT
  3. | GL_PERSPECTIVE_CORRECTION_HINT
  4. | GL_POINT_SMOOTH_HINT
  5. | GL_POLYGON_SMOOTH_HINT
  6. | GL_TEXTURE_COMPRESSION_HINT
  7. | GL_GENERATE_MIPMAP_HINT
  8. | GL_FRAGMENT_SHADER_DERIVATIVE_HINT
type hint_mode =
  1. | GL_FASTEST
  2. | GL_NICEST
  3. | GL_DONT_CARE
val glHint : target:hint_target -> mode:hint_mode -> unit
val glCullFace : mode:face_mode -> unit
val glGetCullFaceMode : unit -> face_mode
val glLineStipple : factor:int -> pattern:int -> unit
val glPolygonStipple : mask:polygon_stipple_mask -> unit
val glPolygonStipple_unsafe : mask:polygon_stipple_mask -> unit
module DrawBuffer : sig ... end
val glDrawBuffer : mode:DrawBuffer.draw_buffer_mode -> unit
module ReadBuffer : sig ... end
val glReadBuffer : mode:ReadBuffer.read_buffer_mode -> unit
module Sfactor : sig ... end
module Dfactor : sig ... end
val glBlendFunc : sfactor:Sfactor.blend_sfactor -> dfactor:Dfactor.blend_dfactor -> unit
type blend_mode =
  1. | GL_FUNC_ADD
  2. | GL_FUNC_SUBTRACT
  3. | GL_FUNC_REVERSE_SUBTRACT
  4. | GL_MIN
  5. | GL_MAX
val glBlendEquation : mode:blend_mode -> unit
module Op : sig ... end
val glLogicOp : opcode:Op.op_code -> unit
val glPolygonOffset : factor:float -> units:float -> unit
type shade_mode =
  1. | GL_FLAT
  2. | GL_SMOOTH
val glShadeModel : shade_mode -> unit
module Light : sig ... end
type gl_light =
  1. | GL_LIGHT of int
val glLight : light:gl_light -> pname:Light.light_pname -> unit
type color_control =
  1. | GL_SEPARATE_SPECULAR_COLOR
  2. | GL_SINGLE_COLOR
type light_model =
  1. | GL_LIGHT_MODEL_AMBIENT of float * float * float * float
  2. | GL_LIGHT_MODEL_COLOR_CONTROL of color_control
  3. | GL_LIGHT_MODEL_LOCAL_VIEWER of bool
  4. | GL_LIGHT_MODEL_TWO_SIDE of bool
val glLightModel : light_model:light_model -> unit
module Material : sig ... end
val glMaterial : face:face_mode -> mode:Material.material_mode -> unit
module GetMat : sig ... end
val glGetMaterial4f : GetMat.face_mode -> mode:GetMat.get_material_4f -> float * float * float * float
val glGetMaterial1f : GetMat.face_mode -> mode:GetMat.get_material_1f -> float
val glGetMaterial3i : GetMat.face_mode -> mode:GetMat.get_material_3i -> int * int * int
type color_material_mode =
  1. | GL_EMISSION
  2. | GL_AMBIENT
  3. | GL_DIFFUSE
  4. | GL_SPECULAR
  5. | GL_AMBIENT_AND_DIFFUSE
val glColorMaterial : face:face_mode -> mode:color_material_mode -> unit
val glSecondaryColor3 : red:float -> green:float -> blue:float -> unit
val glStencilFunc : func:gl_func -> ref:int -> mask:int -> unit
val glStencilFuncn : func:gl_func -> ref:int -> mask:nativeint -> unit
val glStencilMask : mask:int -> unit
type stencil_op =
  1. | GL_KEEP
  2. | GL_ZERO
  3. | GL_REPLACE
  4. | GL_INCR
  5. | GL_INCR_WRAP
  6. | GL_DECR
  7. | GL_DECR_WRAP
  8. | GL_INVERT
val glStencilOp : sfail:stencil_op -> dpfail:stencil_op -> dppass:stencil_op -> unit
val glClearStencil : s:int -> unit
val glDepthRange : near:float -> far:float -> unit
val glClearDepth : depth:float -> unit
val glDepthFunc : func:gl_func -> unit
val glDepthMask : bool -> unit
type accum_op =
  1. | GL_ACCUM
  2. | GL_LOAD
  3. | GL_ADD
  4. | GL_MULT
  5. | GL_RETURN
val glAccum : op:accum_op -> value:float -> unit
val glClearAccum : r:float -> g:float -> b:float -> a:float -> unit
type gl_capability =
  1. | GL_ALPHA_TEST
  2. | GL_AUTO_NORMAL
  3. | GL_BLEND
  4. | GL_CLIP_PLANE0
  5. | GL_CLIP_PLANE1
  6. | GL_CLIP_PLANE2
  7. | GL_CLIP_PLANE3
  8. | GL_CLIP_PLANE4
  9. | GL_CLIP_PLANE5
  10. | GL_COLOR_LOGIC_OP
  11. | GL_COLOR_MATERIAL
  12. | GL_COLOR_TABLE
  13. | GL_CONVOLUTION_1D
  14. | GL_CONVOLUTION_2D
  15. | GL_CULL_FACE
  16. | GL_DEPTH_TEST
  17. | GL_DITHER
  18. | GL_FOG
  19. | GL_HISTOGRAM
  20. | GL_INDEX_LOGIC_OP
  21. | GL_LIGHT0
  22. | GL_LIGHT1
  23. | GL_LIGHT2
  24. | GL_LIGHT3
  25. | GL_LIGHT4
  26. | GL_LIGHT5
  27. | GL_LIGHT6
  28. | GL_LIGHT7
  29. | GL_LIGHTING
  30. | GL_LINE_SMOOTH
  31. | GL_LINE_STIPPLE
  32. | GL_MAP1_COLOR_4
  33. | GL_MAP1_INDEX
  34. | GL_MAP1_NORMAL
  35. | GL_MAP1_TEXTURE_COORD_1
  36. | GL_MAP1_TEXTURE_COORD_2
  37. | GL_MAP1_TEXTURE_COORD_3
  38. | GL_MAP1_TEXTURE_COORD_4
  39. | GL_MAP1_VERTEX_3
  40. | GL_MAP1_VERTEX_4
  41. | GL_MAP2_COLOR_4
  42. | GL_MAP2_INDEX
  43. | GL_MAP2_NORMAL
  44. | GL_MAP2_TEXTURE_COORD_1
  45. | GL_MAP2_TEXTURE_COORD_2
  46. | GL_MAP2_TEXTURE_COORD_3
  47. | GL_MAP2_TEXTURE_COORD_4
  48. | GL_MAP2_VERTEX_3
  49. | GL_MAP2_VERTEX_4
  50. | GL_MINMAX
  51. | GL_MULTISAMPLE
  52. | GL_NORMALIZE
  53. | GL_POINT_SMOOTH
  54. | GL_POINT_SPRITE
  55. | GL_POLYGON_OFFSET_FILL
  56. | GL_POLYGON_OFFSET_LINE
  57. | GL_POLYGON_OFFSET_POINT
  58. | GL_POLYGON_SMOOTH
  59. | GL_POLYGON_STIPPLE
  60. | GL_POST_COLOR_MATRIX_COLOR_TABLE
  61. | GL_POST_CONVOLUTION_COLOR_TABLE
  62. | GL_RESCALE_NORMAL
  63. | GL_SAMPLE_ALPHA_TO_COVERAGE
  64. | GL_SAMPLE_ALPHA_TO_ONE
  65. | GL_SAMPLE_COVERAGE
  66. | GL_SEPARABLE_2D
  67. | GL_SCISSOR_TEST
  68. | GL_STENCIL_TEST
  69. | GL_TEXTURE_1D
  70. | GL_TEXTURE_2D
  71. | GL_TEXTURE_3D
  72. | GL_TEXTURE_CUBE_MAP
  73. | GL_TEXTURE_GEN_Q
  74. | GL_TEXTURE_GEN_R
  75. | GL_TEXTURE_GEN_S
  76. | GL_TEXTURE_GEN_T
  77. | GL_VERTEX_PROGRAM_POINT_SIZE
  78. | GL_VERTEX_PROGRAM_TWO_SIDE
val glEnable : cap:gl_capability -> unit
val glDisable : cap:gl_capability -> unit
module Enabled : sig ... end
val glIsEnabled : Enabled.enabled_cap -> bool
type texture_id = private int
val glGenTextures : n:int -> texture_id array
val glGenTexture : unit -> texture_id
module BindTex : sig ... end
val glBindTexture : target:BindTex.texture_binding -> texture:texture_id -> unit
val glUnbindTexture : target:BindTex.texture_binding -> unit
val glBindTexture2D : texture:texture_id -> unit
val glUnbindTexture2D : unit -> unit
val glDeleteTextures : textures:texture_id array -> unit
val glDeleteTexture : texture:texture_id -> unit
val glIsTexture : texture:texture_id -> bool
val glPrioritizeTextures : textures:texture_id array -> priority:float array -> unit
val glPrioritizeTexture : texture:texture_id -> priority:float -> unit
val glPrioritizeTexturesp : prioritized_textures:(texture_id * float) array -> unit
module TexEnv : sig ... end
type tex_coord =
  1. | GL_S
  2. | GL_T
  3. | GL_R
  4. | GL_Q
type tex_coord_gen_func =
  1. | GL_TEXTURE_GEN_MODE
type tex_gen_param =
  1. | GL_OBJECT_LINEAR
  2. | GL_EYE_LINEAR
  3. | GL_SPHERE_MAP
  4. | GL_NORMAL_MAP
  5. | GL_REFLECTION_MAP
val glTexGen : tex_coord -> tex_coord_gen_func -> tex_gen_param -> unit
type tex_coord_fun_params =
  1. | GL_OBJECT_PLANE
  2. | GL_EYE_PLANE
val glTexGenv : tex_coord -> tex_coord_fun_params -> (float * float * float * float) -> unit
val glTexGenva : tex_coord -> tex_coord_fun_params -> float array -> unit
module TexTarget : sig ... end
module InternalFormat : sig ... end
type pixel_data_format =
  1. | GL_COLOR_INDEX
  2. | GL_RED
  3. | GL_GREEN
  4. | GL_BLUE
  5. | GL_ALPHA
  6. | GL_RGB
  7. | GL_RGBA
  8. | GL_LUMINANCE
  9. | GL_LUMINANCE_ALPHA
type pixel_data_type =
  1. | GL_UNSIGNED_BYTE
  2. | GL_BYTE
  3. | GL_BITMAP
  4. | GL_UNSIGNED_SHORT
  5. | GL_SHORT
  6. | GL_UNSIGNED_INT
  7. | GL_INT
  8. | GL_FLOAT
  9. | GL_UNSIGNED_BYTE_3_3_2
  10. | GL_UNSIGNED_BYTE_2_3_3_REV
  11. | GL_UNSIGNED_SHORT_5_6_5
  12. | GL_UNSIGNED_SHORT_5_6_5_REV
  13. | GL_UNSIGNED_SHORT_4_4_4_4
  14. | GL_UNSIGNED_SHORT_4_4_4_4_REV
  15. | GL_UNSIGNED_SHORT_5_5_5_1
  16. | GL_UNSIGNED_SHORT_1_5_5_5_REV
  17. | GL_UNSIGNED_INT_8_8_8_8
  18. | GL_UNSIGNED_INT_8_8_8_8_REV
  19. | GL_UNSIGNED_INT_10_10_10_2
  20. | GL_UNSIGNED_INT_2_10_10_10_REV
type img_input =
  1. | Filename of string
  2. | Buffer of string
val assert_size : width:int -> height:int -> unit
val glTexImage2D : target:TexTarget.target_2d -> level:int -> internal_format:InternalFormat.internal_format -> width:int -> height:int -> format_:pixel_data_format -> type_:pixel_data_type -> pixels:image_data -> unit
val glTexImage2D_str : target:TexTarget.target_2d -> level:int -> internal_format:InternalFormat.internal_format -> width:int -> height:int -> format_:pixel_data_format -> type_:pixel_data_type -> pixels:string -> unit
val glTexImage1D : target:TexTarget.target_1d -> level:int -> internal_format:InternalFormat.internal_format -> width:int -> format_:pixel_data_format -> type_:pixel_data_type -> pixels:image_data -> unit
val glTexImage3D : target:TexTarget.target_3d -> level:int -> internal_format:InternalFormat.internal_format -> width:int -> height:int -> depth:int -> format_:pixel_data_format -> type_:pixel_data_type -> pixels:image_data -> unit
val glTexCoord1 : s:float -> unit
val glTexCoord2 : s:float -> t:float -> unit
val glTexCoord3 : s:float -> t:float -> r:float -> unit
val glTexCoord4 : s:float -> t:float -> r:float -> q:float -> unit
val glTexCoord2v : v:(float * float) -> unit
val glTexCoord3v : v:(float * float * float) -> unit
val glTexCoord4v : v:(float * float * float * float) -> unit
module Min : sig ... end
module Mag : sig ... end
type wrap_param =
  1. | GL_CLAMP
  2. | GL_CLAMP_TO_BORDER
  3. | GL_CLAMP_TO_EDGE
  4. | GL_MIRRORED_REPEAT
  5. | GL_REPEAT
module TexParam : sig ... end
val glTexParameter : target:TexParam.tex_param_target -> param:TexParam.tex_param -> unit
module CopyTex : sig ... end
val glCopyTexImage2D : target:CopyTex.copy_tex_target -> level:int -> internal_format:InternalFormat.internal_format -> x:int -> y:int -> width:int -> height:int -> border:int -> unit
val glSampleCoverage : value:float -> invert:bool -> unit
type pixel_packing_b =
  1. | GL_PACK_SWAP_BYTES
  2. | GL_PACK_LSB_FIRST
  3. | GL_UNPACK_SWAP_BYTES
  4. | GL_UNPACK_LSB_FIRST
val glPixelStoreb : pixel_packing:pixel_packing_b -> param:bool -> unit
type pixel_packing_i =
  1. | GL_PACK_ROW_LENGTH
  2. | GL_PACK_IMAGE_HEIGHT
  3. | GL_PACK_SKIP_PIXELS
  4. | GL_PACK_SKIP_ROWS
  5. | GL_PACK_SKIP_IMAGES
  6. | GL_PACK_ALIGNMENT
  7. | GL_UNPACK_ROW_LENGTH
  8. | GL_UNPACK_IMAGE_HEIGHT
  9. | GL_UNPACK_SKIP_PIXELS
  10. | GL_UNPACK_SKIP_ROWS
  11. | GL_UNPACK_SKIP_IMAGES
  12. | GL_UNPACK_ALIGNMENT
val glPixelStorei : pixel_packing:pixel_packing_i -> param:int -> unit
val glPixelZoom : xfactor:float -> yfactor:float -> unit
type pixel_map =
  1. | GL_PIXEL_MAP_I_TO_I
  2. | GL_PIXEL_MAP_S_TO_S
  3. | GL_PIXEL_MAP_I_TO_R
  4. | GL_PIXEL_MAP_I_TO_G
  5. | GL_PIXEL_MAP_I_TO_B
  6. | GL_PIXEL_MAP_I_TO_A
  7. | GL_PIXEL_MAP_R_TO_R
  8. | GL_PIXEL_MAP_G_TO_G
  9. | GL_PIXEL_MAP_B_TO_B
  10. | GL_PIXEL_MAP_A_TO_A
val glPixelMapfv : map:pixel_map -> v:float array -> unit
val glBitmap : width:int -> height:int -> xorig:float -> yorig:float -> xmove:float -> ymove:float -> bitmap:('a, 'b, 'c) Bigarray.Array1.t -> unit
type pixel_type =
  1. | GL_COLOR
  2. | GL_DEPTH
  3. | GL_STENCIL
val glCopyPixels : x:int -> y:int -> width:int -> height:int -> pixel_type:pixel_type -> unit
type pixel_transfer_i =
  1. | GL_INDEX_SHIFT
  2. | GL_INDEX_OFFSET
type pixel_transfer_f =
  1. | GL_RED_SCALE
  2. | GL_RED_BIAS
  3. | GL_GREEN_SCALE
  4. | GL_GREEN_BIAS
  5. | GL_BLUE_SCALE
  6. | GL_BLUE_BIAS
  7. | GL_ALPHA_SCALE
  8. | GL_ALPHA_BIAS
  9. | GL_DEPTH_SCALE
  10. | GL_DEPTH_BIAS
type pixel_transfer_b =
  1. | GL_MAP_COLOR
  2. | GL_MAP_STENCIL
type pixel_transfer_f_ARB =
  1. | GL_POST_COLOR_MATRIX_RED_SCALE
  2. | GL_POST_COLOR_MATRIX_GREEN_SCALE
  3. | GL_POST_COLOR_MATRIX_BLUE_SCALE
  4. | GL_POST_COLOR_MATRIX_ALPHA_SCALE
  5. | GL_POST_COLOR_MATRIX_RED_BIAS
  6. | GL_POST_COLOR_MATRIX_GREEN_BIAS
  7. | GL_POST_COLOR_MATRIX_BLUE_BIAS
  8. | GL_POST_COLOR_MATRIX_ALPHA_BIAS
  9. | GL_POST_CONVOLUTION_RED_SCALE
  10. | GL_POST_CONVOLUTION_GREEN_SCALE
  11. | GL_POST_CONVOLUTION_BLUE_SCALE
  12. | GL_POST_CONVOLUTION_ALPHA_SCALE
  13. | GL_POST_CONVOLUTION_RED_BIAS
  14. | GL_POST_CONVOLUTION_GREEN_BIAS
  15. | GL_POST_CONVOLUTION_BLUE_BIAS
  16. | GL_POST_CONVOLUTION_ALPHA_BIAS
val glPixelTransferi : pname:pixel_transfer_i -> param:int -> unit
val glPixelTransferf : pname:pixel_transfer_f -> param:float -> unit
val glPixelTransferb : pname:pixel_transfer_b -> param:bool -> unit
val glPixelTransferfARB : pname:pixel_transfer_f_ARB -> param:float -> unit
module Framebuffer : sig ... end
val glReadPixelsBA_unsafe : x:int -> y:int -> width:int -> height:int -> Framebuffer.pixel_buffer_format -> Framebuffer.pixel_buffer_type -> image_data -> unit
val glReadPixelsBA : x:int -> y:int -> width:int -> height:int -> Framebuffer.pixel_buffer_format -> Framebuffer.pixel_buffer_type -> image_data -> unit
val glDrawPixels_str : width:int -> height:int -> format_:pixel_data_format -> type_:pixel_data_type -> pixels:string -> unit
module Plane : sig ... end
val glClipPlane : plane:Plane.clip_plane -> equation:float array -> unit
val glClipPlane_unsafe : plane:Plane.clip_plane -> equation:float array -> unit
type clip_plane_i =
  1. | GL_CLIP_PLANE of int
val glClipPlanei : plane:clip_plane_i -> equation:float array -> unit
val glClipPlanei_unsafe : plane:clip_plane_i -> equation:float array -> unit
module Map1 : sig ... end
val glMap1 : target:Map1.map1_target -> u1:float -> u2:float -> stride:int -> order:int -> points:float array -> unit
module Map2 : sig ... end
val glMap2 : target:Map2.map2_target -> u1:float -> u2:float -> ustride:int -> uorder:int -> v1:float -> v2:float -> vstride:int -> vorder:int -> points:float array array array -> unit
val glEvalCoord1 : u:float -> unit
val glEvalCoord2 : u:float -> v:float -> unit
module EvalMesh1 : sig ... end
module EvalMesh2 : sig ... end
val glEvalMesh1 : mode:EvalMesh1.eval_mesh_1 -> i1:int -> i2:int -> unit
val glEvalMesh2 : mode:EvalMesh2.eval_mesh_2 -> i1:int -> i2:int -> j1:int -> j2:int -> unit
val glEvalPoint1 : i:int -> unit
val glEvalPoint2 : i:int -> j:int -> unit
val glMapGrid1 : un:int -> u1:float -> u2:float -> unit
val glMapGrid2 : un:int -> u1:float -> u2:float -> vn:int -> v1:float -> v2:float -> unit
type list_mode =
  1. | GL_COMPILE
  2. | GL_COMPILE_AND_EXECUTE
val glNewList : gl_list:int -> mode:list_mode -> unit
val glEndList : unit -> unit
val glGenList : unit -> int
val glGenLists : range:int -> int
val glCallList : gl_list:int -> unit
val glCallLists : gl_lists:int array -> unit
val glDeleteLists : gl_list:int -> range:int -> unit
val glListBase : base:int -> unit
val glIsList : gl_list:int -> bool
val glGetListMode : unit -> list_mode
type render_mode =
  1. | GL_RENDER
  2. | GL_SELECT
  3. | GL_FEEDBACK
val glRenderMode : mode:render_mode -> int
val glInitNames : unit -> unit
val glLoadName : name:int -> unit
val glPushName : name:int -> unit
val glPopName : unit -> unit
type select_buffer
val new_select_buffer : buffer_size:int -> select_buffer
val free_select_buffer : select_buffer:select_buffer -> unit
val select_buffer_get : select_buffer:select_buffer -> index:int -> int
val glSelectBuffer : buffer_size:int -> select_buffer:select_buffer -> unit
val glSelectBufferBA : (nativeint, Bigarray.nativeint_elt, Bigarray.c_layout) Bigarray.Array1.t -> unit
type fog_mode =
  1. | GL_LINEAR
  2. | GL_EXP
  3. | GL_EXP2
type fog_coord_src =
  1. | GL_FOG_COORD
  2. | GL_FRAGMENT_DEPTH
type fog_param =
  1. | GL_FOG_MODE of fog_mode
  2. | GL_FOG_DENSITY of float
  3. | GL_FOG_START of float
  4. | GL_FOG_END of float
  5. | GL_FOG_INDEX of float
  6. | GL_FOG_COLOR of float * float * float * float
  7. | GL_FOG_COORD_SRC of fog_coord_src
val glFog : pname:fog_param -> unit
type shader_object
type shader_program
type shader_type =
  1. | GL_VERTEX_SHADER
  2. | GL_FRAGMENT_SHADER
  3. | GL_GEOMETRY_SHADER
val glCreateShader : shader_type:shader_type -> shader_object
val glDeleteShader : shader:shader_object -> unit
val glIsShader : shader:shader_object -> bool
val glShaderSource : shader:shader_object -> string -> unit
val glCompileShader : shader:shader_object -> unit
val glCreateProgram : unit -> shader_program
val glDeleteProgram : program:shader_program -> unit
val glAttachShader : program:shader_program -> shader:shader_object -> unit
val glDetachShader : program:shader_program -> shader:shader_object -> unit
val glLinkProgram : program:shader_program -> unit
val glUseProgram : program:shader_program -> unit
val glUnuseProgram : unit -> unit
val glGetShaderCompileStatus : shader:shader_object -> bool
val glGetShaderCompileStatus_exn : shader:shader_object -> unit
val glGetUniformLocation : program:shader_program -> name:string -> int
type get_program_bool =
  1. | GL_DELETE_STATUS
  2. | GL_VALIDATE_STATUS
type get_program_int =
  1. | GL_INFO_LOG_LENGTH
  2. | GL_ATTACHED_SHADERS
  3. | GL_ACTIVE_ATTRIBUTES
  4. | GL_ACTIVE_ATTRIBUTE_MAX_LENGTH
  5. | GL_ACTIVE_UNIFORMS
  6. | GL_ACTIVE_UNIFORM_MAX_LENGTH
val glGetProgrami : program:shader_program -> pname:get_program_int -> int
val glGetProgramb : program:shader_program -> pname:get_program_bool -> bool
val glUniform1f : location:int -> v0:float -> unit
val glUniform2f : location:int -> v0:float -> v1:float -> unit
val glUniform3f : location:int -> v0:float -> v1:float -> v2:float -> unit
val glUniform4f : location:int -> v0:float -> v1:float -> v2:float -> v3:float -> unit
val glUniform1i : location:int -> v0:int -> unit
val glUniform2i : location:int -> v0:int -> v1:int -> unit
val glUniform3i : location:int -> v0:int -> v1:int -> v2:int -> unit
val glUniform4i : location:int -> v0:int -> v1:int -> v2:int -> v3:int -> unit
val glUniform1fv : location:int -> value:float array -> unit
val glUniform2fv : location:int -> count:int -> value:float array -> unit
val glUniform3fv : location:int -> count:int -> value:float array -> unit
val glUniform4fv : location:int -> count:int -> value:float array -> unit
val glUniform1iv : location:int -> value:int array -> unit
val glUniform2iv : location:int -> count:int -> value:int array -> unit
val glUniform3iv : location:int -> count:int -> value:int array -> unit
val glUniform4iv : location:int -> count:int -> value:int array -> unit
val glUniformMatrix2f : location:int -> transpose:bool -> value:float array -> unit
val glUniformMatrix3f : location:int -> transpose:bool -> value:float array -> unit
val glUniformMatrix4f : location:int -> transpose:bool -> value:float array -> unit
val glUniformMatrix2x3f : location:int -> transpose:bool -> value:float array -> unit
val glUniformMatrix3x2f : location:int -> transpose:bool -> value:float array -> unit
val glUniformMatrix2x4f : location:int -> transpose:bool -> value:float array -> unit
val glUniformMatrix4x2f : location:int -> transpose:bool -> value:float array -> unit
val glUniformMatrix3x4f : location:int -> transpose:bool -> value:float array -> unit
val glUniformMatrix4x3f : location:int -> transpose:bool -> value:float array -> unit
val glUniformMatrix2fv : location:int -> count:int -> transpose:bool -> value:float array -> unit
val glUniformMatrix3fv : location:int -> count:int -> transpose:bool -> value:float array -> unit
val glUniformMatrix4fv : location:int -> count:int -> transpose:bool -> value:float array -> unit
val glUniformMatrix2x3fv : location:int -> count:int -> transpose:bool -> value:float array -> unit
val glUniformMatrix3x2fv : location:int -> count:int -> transpose:bool -> value:float array -> unit
val glUniformMatrix2x4fv : location:int -> count:int -> transpose:bool -> value:float array -> unit
val glUniformMatrix4x2fv : location:int -> count:int -> transpose:bool -> value:float array -> unit
val glUniformMatrix3x4fv : location:int -> count:int -> transpose:bool -> value:float array -> unit
val glUniformMatrix4x3fv : location:int -> count:int -> transpose:bool -> value:float array -> unit
val glGetAttribLocation : program:shader_program -> name:string -> int
val glBindAttribLocation : program:shader_program -> index:int -> name:string -> unit
val glVertexAttrib1s : index:int -> v:int -> unit
val glVertexAttrib1d : index:int -> v:float -> unit
val glVertexAttrib2s : index:int -> v0:int -> v1:int -> unit
val glVertexAttrib2d : index:int -> v0:float -> v1:float -> unit
val glVertexAttrib3s : index:int -> v0:int -> v1:int -> v2:int -> unit
val glVertexAttrib3d : index:int -> v0:float -> v1:float -> v2:float -> unit
val glVertexAttrib4s : index:int -> v0:int -> v1:int -> v2:int -> v3:int -> unit
val glVertexAttrib4d : index:int -> v0:float -> v1:float -> v2:float -> v3:float -> unit
val glGetShaderInfoLog : shader:shader_object -> string
val glGetProgramInfoLog : program:shader_program -> string
val glEnableVertexAttribArray : index:int -> unit
val glDisableVertexAttribArray : index:int -> unit
module Get : sig ... end
val glGetBoolean1 : Get.get_boolean_1 -> bool
val glGetBoolean4 : Get.get_boolean_4 -> bool * bool * bool * bool
val glGetInteger4 : Get.get_integer_4 -> int * int * int * int
val glGetInteger1 : Get.get_integer_1 -> int
val glGetInteger2 : Get.get_integer_2 -> int * int
val glGetFloat4 : Get.get_float_4 -> float * float * float * float
val glGetFloat3 : Get.get_float_3 -> float * float * float
val glGetFloat2 : Get.get_float_2 -> float * float
val glGetFloat1 : Get.get_float_1 -> float
val glGetMatrix : Get.get_matrix -> float array array
val glGetMatrixFlat : Get.get_matrix -> float array
val glGetTextureBinding : Get.get_texture_binding -> texture_id
type get_string =
  1. | GL_VENDOR
  2. | GL_RENDERER
  3. | GL_VERSION
  4. | GL_SHADING_LANGUAGE_VERSION
  5. | GL_EXTENSIONS
val glGetString : name:get_string -> string
type gl_error =
  1. | GL_NO_ERROR
  2. | GL_INVALID_ENUM
  3. | GL_INVALID_VALUE
  4. | GL_INVALID_OPERATION
  5. | GL_STACK_OVERFLOW
  6. | GL_STACK_UNDERFLOW
  7. | GL_OUT_OF_MEMORY
  8. | GL_TABLE_TOO_LARGE
val glGetError : unit -> gl_error
type tuple_params =
  1. | P1 of float
  2. | P3 of float * float * float
  3. | P4 of float * float * float * float
  4. | PCC of color_control
val glGetLight : light:gl_light -> pname:Get.get_light -> tuple_params
type texture_i =
  1. | GL_TEXTURE0
  2. | GL_TEXTURE1
  3. | GL_TEXTURE2
  4. | GL_TEXTURE3
  5. | GL_TEXTURE4
  6. | GL_TEXTURE5
  7. | GL_TEXTURE6
  8. | GL_TEXTURE7
  9. | GL_TEXTURE8
  10. | GL_TEXTURE9
  11. | GL_TEXTURE10
  12. | GL_TEXTURE11
  13. | GL_TEXTURE12
  14. | GL_TEXTURE13
  15. | GL_TEXTURE14
  16. | GL_TEXTURE15
  17. | GL_TEXTURE16
  18. | GL_TEXTURE17
  19. | GL_TEXTURE18
  20. | GL_TEXTURE19
  21. | GL_TEXTURE20
  22. | GL_TEXTURE21
  23. | GL_TEXTURE22
  24. | GL_TEXTURE23
  25. | GL_TEXTURE24
  26. | GL_TEXTURE25
  27. | GL_TEXTURE26
  28. | GL_TEXTURE27
  29. | GL_TEXTURE28
  30. | GL_TEXTURE29
  31. | GL_TEXTURE30
  32. | GL_TEXTURE31
val glActiveTexture : texture:texture_i -> unit
val glActiveTexturei : texture:int -> unit
val glMultiTexCoord2 : texture:texture_i -> s:float -> t:float -> unit
val glMultiTexCoord2i : texture:int -> s:float -> t:float -> unit
val glmlite_version : int * int * int