sig
type client_state =
GL_COLOR_ARRAY
| GL_EDGE_FLAG_ARRAY
| GL_FOG_COORD_ARRAY
| GL_INDEX_ARRAY
| GL_NORMAL_ARRAY
| GL_SECONDARY_COLOR_ARRAY
| GL_TEXTURE_COORD_ARRAY
| GL_VERTEX_ARRAY
external glEnableClientState : client_state:VertArray.client_state -> unit
= "ml_glenableclientstate"
external glDisableClientState : client_state:VertArray.client_state -> unit
= "ml_gldisableclientstate"
external glDrawArrays : mode:GL.primitive -> first:int -> count:int -> unit
= "ml_gldrawarrays"
external glMultiDrawArrays : mode:int -> arr:(int * int) array -> unit
= "ml_glmultidrawarrays"
external glArrayElement : i:int -> unit = "ml_glarrayelement"
module Elem :
sig
type elem_data_type =
GL_UNSIGNED_BYTE
| GL_UNSIGNED_SHORT
| GL_UNSIGNED_INT
end
external glDrawElements :
mode:GL.primitive ->
count:int ->
data_type:VertArray.Elem.elem_data_type ->
data:('a, 'b, Bigarray.c_layout) Bigarray.Array1.t -> unit
= "ml_gldrawelements"
external glDrawRangeElements :
mode:GL.primitive ->
start:int ->
end_:int ->
count:int ->
data_type:VertArray.Elem.elem_data_type ->
data:('a, 'b, Bigarray.c_layout) Bigarray.Array1.t -> unit
= "ml_gldrawrangeelements_bytecode" "ml_gldrawrangeelements_native"
type interleaved_format =
GL_V2F
| GL_V3F
| GL_C4UB_V2F
| GL_C4UB_V3F
| GL_C3F_V3F
| GL_N3F_V3F
| GL_C4F_N3F_V3F
| GL_T2F_V3F
| GL_T4F_V4F
| GL_T2F_C4UB_V3F
| GL_T2F_C3F_V3F
| GL_T2F_N3F_V3F
| GL_T2F_C4F_N3F_V3F
| GL_T4F_C4F_N3F_V4F
external glInterleavedArrays :
fmt:VertArray.interleaved_format ->
stride:int ->
pointer:('a, 'b, Bigarray.c_layout) Bigarray.Array1.t -> unit
= "ml_glinterleavedarrays"
module Coord :
sig type coord_data_type = GL_SHORT | GL_INT | GL_FLOAT | GL_DOUBLE end
external glVertexPointer :
size:int ->
data_type:VertArray.Coord.coord_data_type ->
stride:int -> data:('a, 'b, Bigarray.c_layout) Bigarray.Array1.t -> unit
= "ml_glvertexpointer"
external glTexCoordPointer :
size:int ->
data_type:VertArray.Coord.coord_data_type ->
stride:int -> data:('a, 'b, Bigarray.c_layout) Bigarray.Array1.t -> unit
= "ml_gltexcoordpointer"
module Norm :
sig
type norm_data_type =
GL_BYTE
| GL_SHORT
| GL_INT
| GL_FLOAT
| GL_DOUBLE
end
external glNormalPointer :
data_type:VertArray.Norm.norm_data_type ->
stride:int -> data:('a, 'b, Bigarray.c_layout) Bigarray.Array1.t -> unit
= "ml_glnormalpointer"
module Index :
sig
type index_data_type =
GL_UNSIGNED_BYTE
| GL_SHORT
| GL_INT
| GL_FLOAT
| GL_DOUBLE
end
external glIndexPointer :
data_type:VertArray.Index.index_data_type ->
stride:int -> data:('a, 'b, Bigarray.c_layout) Bigarray.Array1.t -> unit
= "ml_glindexpointer"
module Color :
sig
type color_data_type =
GL_BYTE
| GL_UNSIGNED_BYTE
| GL_SHORT
| GL_UNSIGNED_SHORT
| GL_INT
| GL_UNSIGNED_INT
| GL_FLOAT
| GL_DOUBLE
end
external glColorPointer :
size:int ->
data_type:VertArray.Color.color_data_type ->
stride:int -> data:('a, 'b, Bigarray.c_layout) Bigarray.Array1.t -> unit
= "ml_glcolorpointer"
external glEdgeFlagPointer :
stride:int ->
data:('a, Bigarray.int8_unsigned_elt, Bigarray.c_layout)
Bigarray.Array1.t ->
unit = "ml_gledgeflagpointer"
end