package gles3

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
val create_byte_bigarray : int -> byte_bigarray
val create_ubyte_bigarray : int -> ubyte_bigarray
val create_short_bigarray : int -> short_bigarray
val create_ushort_bigarray : int -> ushort_bigarray
val create_uint_bigarray : int -> uint_bigarray
val create_float_bigarray : int -> float_bigarray
val create_mmapped_byte_bigarray : int -> byte_bigarray
val create_mmapped_ubyte_bigarray : int -> ubyte_bigarray
val create_mmapped_short_bigarray : int -> short_bigarray
val create_mmapped_ushort_bigarray : int -> ushort_bigarray
val create_mmapped_uint_bigarray : int -> uint_bigarray
val create_mmapped_float_bigarray : int -> float_bigarray
type storage_type = [
  1. | `byte
  2. | `float
  3. | `short
  4. | `ubyte
  5. | `uint
  6. | `ushort
]
type shape = [
  1. | `line_loop
  2. | `line_strip
  3. | `lines
  4. | `points
  5. | `triangle_fan
  6. | `triangle_strip
  7. | `triangles
]
val vertex_attrib_1f : index:int -> float -> unit
val vertex_attrib_2f : index:int -> float -> float -> unit
val vertex_attrib_3f : index:int -> float -> float -> float -> unit
val vertex_attrib_4f : index:int -> float -> float -> float -> float -> unit
val vertex_attrib_fv : index:int -> float array -> unit
val enable_vertex_attrib_array : index:int -> unit
val disable_vertex_attrib_array : index:int -> unit
val vertex_attrib_byte_pointer : index:int -> size:int -> ?norm:bool -> ?stride:int -> byte_bigarray -> unit
val vertex_attrib_ubyte_pointer : index:int -> size:int -> ?norm:bool -> ?stride:int -> ubyte_bigarray -> unit
val vertex_attrib_short_pointer : index:int -> size:int -> ?norm:bool -> ?stride:int -> short_bigarray -> unit
val vertex_attrib_ushort_pointer : index:int -> size:int -> ?norm:bool -> ?stride:int -> ushort_bigarray -> unit
val vertex_attrib_uint_pointer : index:int -> size:int -> ?norm:bool -> ?stride:int -> uint_bigarray -> unit
val vertex_attrib_float_pointer : index:int -> size:int -> ?norm:bool -> ?stride:int -> float_bigarray -> unit
val vertex_attrib_buffer_pointer : index:int -> size:int -> typ:storage_type -> ?norm:bool -> ?stride:int -> int -> unit
val draw_arrays : shape -> ?first:int -> count:int -> unit
val draw_ubyte_elements : shape -> count:int -> ubyte_bigarray -> unit
val draw_ushort_elements : shape -> count:int -> ushort_bigarray -> unit
val draw_uint_elements : shape -> count:int -> uint_bigarray -> unit
val draw_buffer_elements : shape -> count:int -> typ:storage_type -> int -> unit
type buffer_usage = [
  1. | `dynamic_draw
  2. | `static_draw
  3. | `stream_draw
]
type buffer_target = [
  1. | `array_buffer
  2. | `element_array_buffer
]
type buffer
val null_buffer : buffer
val int_of_buffer : buffer -> int
val buffer_of_int : int -> buffer
val is_buffer : buffer -> bool
val gen_buffer : unit -> buffer
val gen_buffers : int -> buffer array
val delete_buffer : buffer -> unit
val delete_buffers : buffer array -> unit
val bind_buffer : target:buffer_target -> buffer -> unit
val buffer_size : target:buffer_target -> size:int -> usage:buffer_usage -> unit
val buffer_data : target:buffer_target -> ('a, 'b, Bigarray.c_layout) Bigarray.Array1.t -> usage:buffer_usage -> unit
val buffer_sub_data : target:buffer_target -> ?offset:int -> ('a, 'b, Bigarray.c_layout) Bigarray.Array1.t -> unit
val get_buffer_size : target:buffer_target -> int
val get_buffer_usage : target:buffer_target -> buffer_usage
type shader_type = [
  1. | `fragment_shader
  2. | `vertex_shader
]
type shader
val null_shader : shader
val int_of_shader : shader -> int
val shader_of_int : int -> shader
val is_shader : shader -> bool
val create_shader : shader_type -> shader
val delete_shader : shader -> unit
val shader_source : shader -> string array -> unit
val compile_shader : shader -> unit
val release_shader_compiler : unit -> unit
val get_shader_type : shader -> shader_type
val get_shader_source : shader -> string
val get_shader_info_log : shader -> string
val get_shader_delete_status : shader -> bool
val get_shader_compile_status : shader -> bool
type program
val null_program : program
val int_of_program : program -> int
val program_of_int : int -> program
val is_program : program -> bool
val create_program : unit -> program
val delete_program : program -> unit
val attach_shader : program -> shader -> unit
val detach_shader : program -> shader -> unit
val use_program : program -> unit
val validate_program : program -> bool
val get_attached_shaders : program -> shader array
val get_program_info_log : program -> string
val get_program_delete_status : program -> bool
type int_type = [
  1. | `int
  2. | `int_vec2
  3. | `int_vec3
  4. | `int_vec4
]
type bool_type = [
  1. | `bool
  2. | `bool_vec2
  3. | `bool_vec3
  4. | `bool_vec4
]
type sampler_type = [
  1. | `sampler_2d
  2. | `sampler_2d_shadow
  3. | `sampler_cube
]
type float_type = [
  1. | `float
  2. | `float_mat2
  3. | `float_mat3
  4. | `float_mat4
  5. | `float_vec2
  6. | `float_vec3
  7. | `float_vec4
]
type attribute_type = float_type
type uniform_type = [
  1. | `bool
  2. | `bool_vec2
  3. | `bool_vec3
  4. | `bool_vec4
  5. | `float
  6. | `float_mat2
  7. | `float_mat3
  8. | `float_mat4
  9. | `float_vec2
  10. | `float_vec3
  11. | `float_vec4
  12. | `int
  13. | `int_vec2
  14. | `int_vec3
  15. | `int_vec4
  16. | `sampler_2d
  17. | `sampler_2d_shadow
  18. | `sampler_cube
]
val string_of_type : [< uniform_type ] -> string
val glsl_string_of_type : [< uniform_type ] -> string
val get_active_attribs : program -> (string * int * attribute_type * int) list
val get_attrib_location : program -> string -> int
val bind_attrib_location : program -> int -> string -> unit
val get_active_uniforms : program -> (string * int * uniform_type * int) list
val get_uniform_location : program -> string -> int
val uniform_1i : loc:int -> int -> unit
val uniform_2i : loc:int -> int -> int -> unit
val uniform_3i : loc:int -> int -> int -> int -> unit
val uniform_4i : loc:int -> int -> int -> int -> int -> unit
val uniform_1iv : loc:int -> ?count:int -> int array -> unit
val uniform_2iv : loc:int -> ?count:int -> int array -> unit
val uniform_3iv : loc:int -> ?count:int -> int array -> unit
val uniform_4iv : loc:int -> ?count:int -> int array -> unit
val uniform_1b : loc:int -> bool -> unit
val uniform_2b : loc:int -> bool -> bool -> unit
val uniform_3b : loc:int -> bool -> bool -> bool -> unit
val uniform_4b : loc:int -> bool -> bool -> bool -> bool -> unit
val uniform_1bv : loc:int -> ?count:int -> bool array -> unit
val uniform_2bv : loc:int -> ?count:int -> bool array -> unit
val uniform_3bv : loc:int -> ?count:int -> bool array -> unit
val uniform_4bv : loc:int -> ?count:int -> bool array -> unit
val uniform_1f : loc:int -> float -> unit
val uniform_2f : loc:int -> float -> float -> unit
val uniform_3f : loc:int -> float -> float -> float -> unit
val uniform_4f : loc:int -> float -> float -> float -> float -> unit
val uniform_1fv : loc:int -> ?count:int -> float array -> unit
val uniform_2fv : loc:int -> ?count:int -> float array -> unit
val uniform_3fv : loc:int -> ?count:int -> float array -> unit
val uniform_4fv : loc:int -> ?count:int -> float array -> unit
val uniform_matrix_2fv : loc:int -> ?count:int -> ?transp:bool -> float array -> unit
val uniform_matrix_3fv : loc:int -> ?count:int -> ?transp:bool -> float array -> unit
val uniform_matrix_4fv : loc:int -> ?count:int -> ?transp:bool -> float array -> unit
type cap = [
  1. | `blend
  2. | `cull_face
  3. | `depth_test
  4. | `dither
  5. | `polygon_offset_fill
  6. | `sample_alpha_to_coverage
  7. | `sample_coverage
  8. | `scissor_test
  9. | `stencil_test
]
type face = [
  1. | `back
  2. | `front
  3. | `front_and_back
]
val depth_range : near:float -> far:float -> unit
val viewport : x:int -> y:int -> w:int -> h:int -> unit
val enable : cap -> unit
val disable : cap -> unit
val is_enabled : cap -> bool
val line_width : float -> unit
val front_face : [ `ccw | `cw ] -> unit
val cull_face : face:face -> unit
val polygon_offset : factor:float -> units:float -> unit
type texture_target = [
  1. | `texture_2d
  2. | `texture_2d_shadow
  3. | `texture_cube_map
]
type wrap_mode = [
  1. | `clamp_to_edge
  2. | `repeat
]
type min_filter = [
  1. | `linear
  2. | `linear_mipmap_linear
  3. | `linear_mipmap_nearest
  4. | `nearest
  5. | `nearest_mipmap_linear
  6. | `nearest_mipmap_nearest
]
type mag_filter = [
  1. | `linear
  2. | `nearest
]
type compare_mode = [
  1. | `compare_ref_to_texture
  2. | `none
]
type texture_parameter = [
  1. | `texture_compare_mode of compare_mode
  2. | `texture_mag_filter of mag_filter
  3. | `texture_min_filter of min_filter
  4. | `texture_wrap_s of wrap_mode
  5. | `texture_wrap_t of wrap_mode
]
type texture
val null_texture : texture
val int_of_texture : texture -> int
val texture_of_int : int -> texture
val is_texture : texture -> bool
val gen_texture : unit -> texture
val gen_textures : int -> texture array
val delete_texture : texture -> unit
val delete_textures : texture array -> unit
val active_texture : texture -> unit
val bind_texture : target:texture_target -> texture -> unit
val tex_parameter : target:texture_target -> texture_parameter -> unit
val generate_mipmap : target:texture_target -> unit
type texture_image_target = [
  1. | `texture_2d
  2. | `texture_cube_map_negative_x
  3. | `texture_cube_map_negative_y
  4. | `texture_cube_map_negative_z
  5. | `texture_cube_map_positive_x
  6. | `texture_cube_map_positive_y
  7. | `texture_cube_map_positive_z
]
type image_format = [
  1. | `alpha
  2. | `luminance
  3. | `luminance_alpha
  4. | `rgb
  5. | `rgba
]
type internal_image_format = [
  1. | `alpha
  2. | `depth24_stencil8
  3. | `depth_component16
  4. | `depth_component24
  5. | `luminance
  6. | `luminance_alpha
  7. | `rgb
  8. | `rgba
]
type image = {
  1. width : int;
  2. height : int;
  3. format : image_format;
  4. data : ubyte_bigarray;
}
val tex_image_2d : target:texture_image_target -> ?level:int -> image -> unit
val tex_null_image_2d : target:texture_image_target -> ?level:int -> int -> int -> internal_image_format -> unit
val tex_sub_image_2d : target:texture_image_target -> ?level:int -> ?xoffset:int -> ?yoffset:int -> image -> unit
type rectangle = int * int * int * int
val copy_tex_image_2d : target:texture_image_target -> ?level:int -> format:image_format -> rectangle -> unit
val copy_tex_sub_image_2d : target:texture_image_target -> ?level:int -> ?xoffset:int -> ?yoffset:int -> rectangle -> unit
type rgba = {
  1. r : float;
  2. g : float;
  3. b : float;
  4. a : float;
}
type cmp_func = [
  1. | `always
  2. | `equal
  3. | `gequal
  4. | `greater
  5. | `lequal
  6. | `less
  7. | `never
  8. | `notequal
]
type stencil_op = [
  1. | `decr
  2. | `decr_wrap
  3. | `incr
  4. | `incr_wrap
  5. | `invert
  6. | `keep
  7. | `replace
  8. | `zero
]
type blend_mode = [
  1. | `func_add
  2. | `func_reverse_subtract
  3. | `func_subtract
]
type dst_blend_func = [
  1. | `constant_alpha
  2. | `constant_color
  3. | `dst_alpha
  4. | `dst_color
  5. | `one
  6. | `one_minus_constant_alpha
  7. | `one_minus_constant_color
  8. | `one_minus_dst_alpha
  9. | `one_minus_dst_color
  10. | `one_minus_src_alpha
  11. | `one_minus_src_color
  12. | `src_alpha
  13. | `src_color
  14. | `zero
]
type src_blend_func = [
  1. | `constant_alpha
  2. | `constant_color
  3. | `dst_alpha
  4. | `dst_color
  5. | `one
  6. | `one_minus_constant_alpha
  7. | `one_minus_constant_color
  8. | `one_minus_dst_alpha
  9. | `one_minus_dst_color
  10. | `one_minus_src_alpha
  11. | `one_minus_src_color
  12. | `src_alpha
  13. | `src_alpha_saturate
  14. | `src_color
  15. | `zero
]
val rgba : r:float -> g:float -> b:float -> a:float -> rgba
val scissor : x:int -> y:int -> w:int -> h:int -> unit
val sample_coverage_aux : float -> invert:bool -> unit
val sample_coverage : ?invert:bool -> float -> unit
val stencil_func : func:cmp_func -> ref:int -> mask:int -> unit
val stencil_func_separate : face:face -> func:cmp_func -> ref:int -> mask:int -> unit
val stencil_op : sfail:stencil_op -> dpfail:stencil_op -> dppass:stencil_op -> unit
val stencil_op_separate : face:face -> sfail:stencil_op -> dpfail:stencil_op -> dppass:stencil_op -> unit
val depth_func : func:cmp_func -> unit
val blend_equation : blend_mode -> unit
val blend_equation_separate : rgb:blend_mode -> alpha:blend_mode -> unit
val blend_func : src:src_blend_func -> dst:dst_blend_func -> unit
val blend_func_separate : src_rgb:src_blend_func -> dst_rgb:dst_blend_func -> src_alpha:src_blend_func -> dst_alpha:dst_blend_func -> unit
val blend_color : rgba -> unit
type which_buffer = [
  1. | `color_buffer
  2. | `depth_buffer
  3. | `stencil_buffer
]
val color_mask : red:bool -> green:bool -> blue:bool -> alpha:bool -> unit
val depth_mask : bool -> unit
val stencil_mask : int -> unit
val stencil_mask_separate : face:face -> int -> unit
val clear : which_buffer list -> unit
val clear_color : rgba -> unit
val clear_depth : float -> unit
val clear_stencil : int -> unit
val read_pixels : x:int -> y:int -> image -> unit
type renderbuffer_target = [
  1. | `renderbuffer
]
type renderbuffer_format = [
  1. | `depth_component16
  2. | `depth_component24
  3. | `rgb565
  4. | `rgb5_a1
  5. | `rgba4
  6. | `stencil_index8
]
type renderbuffer
val null_renderbuffer : renderbuffer
val int_of_renderbuffer : renderbuffer -> int
val renderbuffer_of_int : int -> renderbuffer
val is_renderbuffer : renderbuffer -> bool
val gen_renderbuffer : unit -> renderbuffer
val gen_renderbuffers : int -> renderbuffer array
val delete_renderbuffer : renderbuffer -> unit
val delete_renderbuffers : renderbuffer array -> unit
val draw_buffers : [ `back | `color_attachment0 | `color_attachment1 | `color_attachment10 | `color_attachment11 | `color_attachment12 | `color_attachment13 | `color_attachment14 | `color_attachment15 | `color_attachment2 | `color_attachment3 | `color_attachment4 | `color_attachment5 | `color_attachment6 | `color_attachment7 | `color_attachment8 | `color_attachment9 | `none ] array -> unit
val bind_renderbuffer : target:renderbuffer_target -> renderbuffer -> unit
val renderbuffer_storage : target:renderbuffer_target -> format:renderbuffer_format -> width:int -> height:int -> unit
type framebuffer_target = [
  1. | `framebuffer
]
type framebuffer
val null_framebuffer : framebuffer
val int_of_framebuffer : framebuffer -> int
val framebuffer_of_int : int -> framebuffer
val is_framebuffer : framebuffer -> bool
val gen_framebuffer : unit -> framebuffer
val gen_framebuffers : int -> framebuffer array
val delete_framebuffer : framebuffer -> unit
val delete_framebuffers : framebuffer array -> unit
val bind_framebuffer : target:framebuffer_target -> framebuffer -> unit
type framebuffer_attachment = [
  1. | `color_attachment0
  2. | `depth_attachment
  3. | `stencil_attachment
]
val framebuffer_renderbuffer : target:framebuffer_target -> attach:framebuffer_attachment -> target2:renderbuffer_target -> renderbuffer -> unit
val framebuffer_texture_2d : target:framebuffer_target -> attach:framebuffer_attachment -> target2:texture_image_target -> texture -> level:int -> unit
type framebuffer_status = [
  1. | `framebuffer_complete
  2. | `framebuffer_incomplete_attachment
  3. | `framebuffer_incomplete_dimensions
  4. | `framebuffer_incomplete_missing_attachment
  5. | `framebuffer_unsupported
]
val check_framebuffer_status : target:framebuffer_target -> framebuffer_status
type error = [
  1. | `invalid_enum
  2. | `invalid_framebuffer_operation
  3. | `invalid_operation
  4. | `invalid_value
  5. | `no_error
  6. | `out_of_memory
]
val error_to_string : error -> string
val get_error : unit -> error
val show_errors : string -> unit
val get_vendor : unit -> string
val get_renderer : unit -> string
val get_version : unit -> string
val get_shading_language_version : unit -> string
val get_extensions : unit -> string
val flush : unit -> unit
val finish : unit -> unit