sig
type vertex2 = float * float
type vertex3 = float * float * float
type vertex4 = float * float * float * float
type vector = float * float * float
type rgb = float * float * float
type rgba = float * float * float * float
type uv = float * float
type matrix4x4 = float array
val draw_translated : FunGL.vector -> (unit -> unit) -> unit
val draw_rotated : float -> FunGL.vector -> (unit -> unit) -> unit
val draw_scaled : FunGL.vector -> (unit -> unit) -> unit
val draw_as_identity : (unit -> unit) -> unit
val draw_with_matrix : FunGL.matrix4x4 -> (unit -> unit) -> unit
val draw_with_rgb : FunGL.rgb -> (unit -> unit) -> unit
val draw_with_rgba : FunGL.rgba -> (unit -> unit) -> unit
val draw_with_material :
face:GL.face_mode ->
mode:GL.Material.material_mode -> (unit -> unit) -> unit
val draw_with_lightModel :
light_model:GL.light_model -> (unit -> unit) -> unit
val draw_with_shadeModel :
shade_mode:GL.shade_mode -> (unit -> unit) -> unit
val draw_with_frontFace :
orientation:GL.orientation -> (unit -> unit) -> unit
val draw_with_cullFace : mode:GL.face_mode -> (unit -> unit) -> unit
val draw_enabled : cap:GL.gl_capability -> (unit -> unit) -> unit
val with_enablements : caps:GL.gl_capability list -> (unit -> unit) -> unit
val draw_disabled : cap:GL.gl_capability -> (unit -> unit) -> unit
val draw_with_viewport :
viewport:int * int * int * int -> (unit -> unit) -> unit
val draw_with_polygonMode :
face:GL.face_mode -> mode:GL.polygon_mode -> (unit -> unit) -> unit
val draw_with_polygonMode2 :
front:GL.polygon_mode -> back:GL.polygon_mode -> (unit -> unit) -> unit
val do_with_matrixMode : mode:GL.matrix_mode -> (unit -> unit) -> unit
val draw_with_lineWidth : width:float -> (unit -> unit) -> unit
val draw_with_pointSize : size:float -> (unit -> unit) -> unit
val draw_using_program :
program:GL.shader_program -> (unit -> unit) -> unit
type qualified_vertices =
Vertices2 of FunGL.vertex2 list
| Vertices3 of FunGL.vertex3 list
| Vertices4 of FunGL.vertex4 list
| Normal_Vertices2 of (FunGL.vector * FunGL.vertex2) list
| Normal_Vertices3 of (FunGL.vector * FunGL.vertex3) list
| Normal_Vertices4 of (FunGL.vector * FunGL.vertex4) list
| RGB_Vertices2 of (FunGL.rgb * FunGL.vertex2) list
| RGB_Vertices3 of (FunGL.rgb * FunGL.vertex3) list
| RGB_Vertices4 of (FunGL.rgb * FunGL.vertex4) list
| RGBA_Vertices2 of (FunGL.rgba * FunGL.vertex2) list
| RGBA_Vertices3 of (FunGL.rgba * FunGL.vertex3) list
| RGBA_Vertices4 of (FunGL.rgba * FunGL.vertex4) list
| Normal_RGB_Vertices2 of (FunGL.vector * FunGL.rgb * FunGL.vertex2) list
| Normal_RGB_Vertices3 of (FunGL.vector * FunGL.rgb * FunGL.vertex3) list
| Normal_RGB_Vertices4 of (FunGL.vector * FunGL.rgb * FunGL.vertex4) list
| Normal_RGBA_Vertices2 of
(FunGL.vector * FunGL.rgba * FunGL.vertex2) list
| Normal_RGBA_Vertices3 of
(FunGL.vector * FunGL.rgba * FunGL.vertex3) list
| Normal_RGBA_Vertices4 of
(FunGL.vector * FunGL.rgba * FunGL.vertex4) list
| UV_Vertices2 of (FunGL.uv * FunGL.vertex2) list
| UV_Vertices3 of (FunGL.uv * FunGL.vertex3) list
| UV_Vertices4 of (FunGL.uv * FunGL.vertex4) list
| UV_Normal_Vertices2 of (FunGL.uv * FunGL.vector * FunGL.vertex2) list
| UV_Normal_Vertices3 of (FunGL.uv * FunGL.vector * FunGL.vertex3) list
| UV_Normal_Vertices4 of (FunGL.uv * FunGL.vector * FunGL.vertex4) list
| UV_RGB_Vertices2 of (FunGL.uv * FunGL.rgb * FunGL.vertex2) list
| UV_RGB_Vertices3 of (FunGL.uv * FunGL.rgb * FunGL.vertex3) list
| UV_RGB_Vertices4 of (FunGL.uv * FunGL.rgb * FunGL.vertex4) list
| UV_RGBA_Vertices2 of (FunGL.uv * FunGL.rgba * FunGL.vertex2) list
| UV_RGBA_Vertices3 of (FunGL.uv * FunGL.rgba * FunGL.vertex3) list
| UV_RGBA_Vertices4 of (FunGL.uv * FunGL.rgba * FunGL.vertex4) list
| UV_Normal_RGB_Vertices2 of
(FunGL.uv * FunGL.vector * FunGL.rgb * FunGL.vertex2) list
| UV_Normal_RGB_Vertices3 of
(FunGL.uv * FunGL.vector * FunGL.rgb * FunGL.vertex3) list
| UV_Normal_RGB_Vertices4 of
(FunGL.uv * FunGL.vector * FunGL.rgb * FunGL.vertex4) list
| UV_Normal_RGBA_Vertices2 of
(FunGL.uv * FunGL.vector * FunGL.rgba * FunGL.vertex2) list
| UV_Normal_RGBA_Vertices3 of
(FunGL.uv * FunGL.vector * FunGL.rgba * FunGL.vertex3) list
| UV_Normal_RGBA_Vertices4 of
(FunGL.uv * FunGL.vector * FunGL.rgba * FunGL.vertex4) list
val render_primitive : GL.primitive -> FunGL.qualified_vertices -> unit
end