module VertArray:sig..end
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 |
val glEnableClientState : client_state:client_state -> unit
val glDisableClientState : client_state:client_state -> unit
val glDrawArrays : mode:GL.primitive -> first:int -> count:int -> unit
val glMultiDrawArrays : mode:int -> arr:(int * int) array -> unit
val glArrayElement : i:int -> unit
module Elem:sig..end
val glDrawElements : mode:GL.primitive ->
count:int ->
data_type:Elem.elem_data_type ->
data:('a, 'b, Bigarray.c_layout) Bigarray.Array1.t -> unit
val glDrawRangeElements : mode:GL.primitive ->
start:int ->
end_:int ->
count:int ->
data_type:Elem.elem_data_type ->
data:('a, 'b, Bigarray.c_layout) Bigarray.Array1.t -> unit
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 |
val glInterleavedArrays : fmt:interleaved_format ->
stride:int -> pointer:('a, 'b, Bigarray.c_layout) Bigarray.Array1.t -> unit
module Coord:sig..end
val glVertexPointer : size:int ->
data_type:Coord.coord_data_type ->
stride:int -> data:('a, 'b, Bigarray.c_layout) Bigarray.Array1.t -> unit
val glTexCoordPointer : size:int ->
data_type:Coord.coord_data_type ->
stride:int -> data:('a, 'b, Bigarray.c_layout) Bigarray.Array1.t -> unit
module Norm:sig..end
val glNormalPointer : data_type:Norm.norm_data_type ->
stride:int -> data:('a, 'b, Bigarray.c_layout) Bigarray.Array1.t -> unit
module Index:sig..end
val glIndexPointer : data_type:Index.index_data_type ->
stride:int -> data:('a, 'b, Bigarray.c_layout) Bigarray.Array1.t -> unit
module Color:sig..end
val glColorPointer : size:int ->
data_type:Color.color_data_type ->
stride:int -> data:('a, 'b, Bigarray.c_layout) Bigarray.Array1.t -> unit
val glEdgeFlagPointer : stride:int ->
data:('a, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.t ->
unit
val glSecondaryColorPointer : size:int ->
data_type:Color.color_data_type ->
stride:int -> data:('a, 'b, Bigarray.c_layout) Bigarray.Array1.t -> unit
module VAttr:sig..end
val glVertexAttribPointer : index:int ->
size:int ->
data_type:VAttr.vertattr_data_type ->
normalized:bool ->
stride:int -> data:('a, 'b, Bigarray.c_layout) Bigarray.Array1.t -> unit
val glVertexPointer0 : size:int -> data_type:Coord.coord_data_type -> stride:int -> unitval glTexCoordPointer0 : size:int -> data_type:Coord.coord_data_type -> stride:int -> unitval glColorPointer0 : size:int -> data_type:Color.color_data_type -> stride:int -> unitval glSecondaryColorPointer0 : size:int -> data_type:Color.color_data_type -> stride:int -> unitval glIndexPointer0 : data_type:Index.index_data_type -> stride:int -> unitval glNormalPointer0 : data_type:Norm.norm_data_type -> stride:int -> unitval glEdgeFlagPointer0 : stride:int -> unitval glVertexAttribPointer0 : index:int ->
size:int ->
data_type:VAttr.vertattr_data_type ->
normalized:bool -> stride:int -> unitval glDrawElements0 : mode:GL.primitive ->
count:int -> data_type:Elem.elem_data_type -> unit
It is also possible to achieve the same effect by passing an empty bigarray
to the gl*Pointer functions, but the gl*Pointer0 functions are probably
more handy.
val glVertexPointerOfs8 : size:int ->
data_type:Coord.coord_data_type -> stride:int -> ofs:int -> unitval glVertexPointerOfs16 : size:int ->
data_type:Coord.coord_data_type -> stride:int -> ofs:int -> unitval glVertexPointerOfs32 : size:int ->
data_type:Coord.coord_data_type -> stride:int -> ofs:int -> unitval glIndexPointerOfs8 : data_type:Index.index_data_type -> stride:int -> ofs:int -> unitval glIndexPointerOfs16 : data_type:Index.index_data_type -> stride:int -> ofs:int -> unitval glIndexPointerOfs32 : data_type:Index.index_data_type -> stride:int -> ofs:int -> unitval glTexCoordPointerOfs8 : size:int ->
data_type:Coord.coord_data_type -> stride:int -> ofs:int -> unitval glTexCoordPointerOfs16 : size:int ->
data_type:Coord.coord_data_type -> stride:int -> ofs:int -> unitval glTexCoordPointerOfs32 : size:int ->
data_type:Coord.coord_data_type -> stride:int -> ofs:int -> unitval glColorPointerOfs8 : size:int ->
data_type:Color.color_data_type -> stride:int -> ofs:int -> unitval glColorPointerOfs16 : size:int ->
data_type:Color.color_data_type -> stride:int -> ofs:int -> unitval glColorPointerOfs32 : size:int ->
data_type:Color.color_data_type -> stride:int -> ofs:int -> unitval glSecondaryColorPointerOfs8 : size:int -> data_type:Color.color_data_type -> stride:int -> unitval glSecondaryColorPointerOfs16 : size:int -> data_type:Color.color_data_type -> stride:int -> unitval glSecondaryColorPointerOfs32 : size:int -> data_type:Color.color_data_type -> stride:int -> unitval glNormalPointerOfs8 : data_type:Norm.norm_data_type -> stride:int -> ofs:int -> unitval glNormalPointerOfs16 : data_type:Norm.norm_data_type -> stride:int -> ofs:int -> unitval glNormalPointerOfs32 : data_type:Norm.norm_data_type -> stride:int -> ofs:int -> unitval glEdgeFlagPointerOfs8 : stride:int -> ofs:int -> unitval glEdgeFlagPointerOfs16 : stride:int -> ofs:int -> unitval glEdgeFlagPointerOfs32 : stride:int -> ofs:int -> unitval glVertexAttribPointerOfs8 : index:int ->
size:int ->
data_type:VAttr.vertattr_data_type ->
normalized:bool -> stride:int -> ofs:int -> unitval glVertexAttribPointerOfs16 : index:int ->
size:int ->
data_type:VAttr.vertattr_data_type ->
normalized:bool -> stride:int -> ofs:int -> unitval glVertexAttribPointerOfs32 : index:int ->
size:int ->
data_type:VAttr.vertattr_data_type ->
normalized:bool -> stride:int -> ofs:int -> unit
Pointer arithmetic depends of the size of the pointed data, so there are
different versions of these functions for elements of size 8, 16 or 32 bits.
val glDrawElementsOfs8 : mode:GL.primitive ->
count:int -> data_type:Elem.elem_data_type -> ofs:int -> unitval glDrawElementsOfs16 : mode:GL.primitive ->
count:int -> data_type:Elem.elem_data_type -> ofs:int -> unitval glDrawElementsOfs32 : mode:GL.primitive ->
count:int -> data_type:Elem.elem_data_type -> ofs:int -> unitval glGenVertexArray : unit -> intval glBindVertexArray : int -> unitval glDeleteVertexArray : int -> unitval glIsVertexArray : int -> bool