package brr

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

The WebGL2 context.

If you want to get started with WebGL2 from the basics look here. See also the WebGL2 specification and the MDN WebGL page.

Note. Enumerants like ARRAY_BUFFER are lowercased to array_buffer. If they clash with a function name we prime them. If a function is overloaded alternate versions live as seperate entry point with an additional suffix, e.g. Brr_canvas.Gl.buffer_data_size or Brr_canvas.Gl.read_pixels_to_pixel_pack.

Warning. These bindings were semi-automatically generated. Some of the functions signatures may require tweaking; if you doubt a signature you may be right.

Context

module Attrs : sig ... end

Context attributes.

type t

The type for WebGL2RenderingContext objects

val create : ?attrs:Attrs.t -> ?v1:bool -> Canvas.t -> t option

create ~attrs cnv creates a WebGL2 context for canvas cnv with attributes attrs. If v1 is true (defaults to false) it will create a WebGL1 context beware that some of the functions below do not work on it.

val canvas : t -> Canvas.t option

canvas c is the canvas element associated to the context c (if any).

val drawing_buffer_width : t -> int

drawing_buffer_width c is the drawing buffer width of c.

val drawing_buffer_height : t -> int

drawing_buffer_height c is the drawing buffer height of c.

val attrs : t -> Attrs.t

attrs c are the context's attributes.

val is_context_lost : t -> bool

is_context_lost c is true if the context is lost.

val get_supported_extensions : t -> Jstr.t list

get_supported_extensions c are the extensions of c.

val get_extension : t -> Jstr.t -> Jv.t

get_extension c ext is the extension ext of c.

Types

type enum = int

The type for GLenum.

type buffer

The type for WebGLBuffer objects.

type framebuffer

The type for WebGLFramebuffer objects.

type program

The type for WebGLProgram objects.

type query

The type for WebGLQuery objects.

type renderbuffer

The type for WebGLRenderbuffer objects.

type sampler

The type for WebGLSampler objects.

type shader

The type for WebGLShader objects.

type sync

The type for WebGLSync objects.

type texture

The type for WebGLTexture objects.

type transform_feedback

The type for WebGLTransformFeedback objects.

type uniform_location

The type for WebGLUniformLocation objects.

type vertex_array_object

The type for WebGLVertexArrayObject objects.

module Active_info : sig ... end

WebGLActiveInfo objects.

module Shader_precision_format : sig ... end

WebGLShaderPrecisionFormat objects.

module Tex_image_source : sig ... end

Texture image sources.

Functions

val active_texture : t -> enum -> unit

activeTexture ctexture

val attach_shader : t -> program -> shader -> unit

attachShader cprogram shader

val begin_query : t -> enum -> query -> unit

beginQuery ctarget query

val begin_transform_feedback : t -> enum -> unit

beginTransformFeedback cprimitiveMode

val bind_attrib_location : t -> program -> int -> Jstr.t -> unit

bindAttribLocation cprogram index name

val bind_buffer : t -> enum -> buffer option -> unit

bindBuffer ctarget buffer

val bind_buffer_base : t -> enum -> int -> buffer -> unit

bindBufferBase ctarget index buffer

val bind_buffer_range : t -> enum -> int -> buffer -> int -> int -> unit

bindBufferRange ctarget index buffer offset size

val bind_framebuffer : t -> enum -> framebuffer option -> unit

bindFramebuffer ctarget framebuffer

val bind_renderbuffer : t -> enum -> renderbuffer option -> unit

bindRenderbuffer ctarget renderbuffer

val bind_sampler : t -> int -> sampler option -> unit

bindSampler cunit sampler

val bind_texture : t -> enum -> texture option -> unit

bindTexture ctarget texture

val bind_transform_feedback : t -> enum -> transform_feedback option -> unit
val bind_vertex_array : t -> vertex_array_object option -> unit
val blend_color : t -> float -> float -> float -> float -> unit

blendColor cred green blue alpha

val blend_equation : t -> enum -> unit
val blend_equation_separate : t -> enum -> enum -> unit

blendEquationSeparate cmodeRGB modeAlpha

val blend_func : t -> enum -> enum -> unit

blendFunc csfactor dfactor

val blend_func_separate : t -> enum -> enum -> enum -> enum -> unit

blendFuncSeparate csrcRGB dstRGB srcAlpha dstAlpha

val blit_framebuffer : t -> int -> int -> int -> int -> int -> int -> int -> int -> int -> enum -> unit

blitFramebuffer csrcX0 srcY0 srcX1 srcY1 dstX0 dstY0 dstX1 dstY1 mask filter

val buffer_data : t -> enum -> ('a, 'b) Brr.Tarray.t -> enum -> unit

bufferData ctarget srcData usage. See also buffer_data_size

val buffer_data_size : t -> enum -> int -> enum -> unit

bufferData ctarget size usage.

val buffer_sub_data : t -> enum -> int -> ('a, 'b) Brr.Tarray.t -> unit

bufferSubData ctarget dstByteOffset srcData

val check_framebuffer_status : t -> enum -> enum
val clear : t -> int -> unit

clear cmask

val clear_bufferfi : t -> enum -> int -> float -> int -> unit

clearBufferfi cbuffer drawbuffer depth stencil

val clear_bufferfv : t -> enum -> int -> Brr.Tarray.float32 -> unit

clearBufferfv cbuffer drawbuffer values

val clear_bufferiv : t -> enum -> int -> Brr.Tarray.int32 -> unit

clearBufferiv cbuffer drawbuffer values

val clear_bufferuiv : t -> enum -> int -> Brr.Tarray.uint32 -> unit

clearBufferuiv cbuffer drawbuffer values

val clear_color : t -> float -> float -> float -> float -> unit

clearColor cred green blue alpha

val clear_depth : t -> float -> unit

clearDepth cdepth

val clear_stencil : t -> int -> unit
val client_wait_sync : t -> sync -> int -> int -> enum

clientWaitSync csync flags timeout

val color_mask : t -> bool -> bool -> bool -> bool -> unit

colorMask cred green blue alpha

val compile_shader : t -> shader -> unit
val compressed_tex_image2d : t -> enum -> int -> enum -> int -> int -> int -> ('a, 'b) Brr.Tarray.t -> unit

compressedTexImage2D ctarget level internalformat width height border srcData

val compressed_tex_image2d_size : t -> enum -> int -> enum -> int -> int -> int -> int -> int -> unit

compressedTexImage2D ctarget level internalformat width height border imageSize offset

val compressed_tex_image3d : t -> enum -> int -> enum -> int -> int -> int -> int -> ('a, 'b) Brr.Tarray.t -> unit

compressedTexImage3D ctarget level internalformat width height depth border srcData

val compressed_tex_image3d_size : t -> enum -> int -> enum -> int -> int -> int -> int -> int -> int -> unit

compressedTexImage3D ctarget level internalformat width height depth border imageSize offset

val compressed_tex_sub_image2d : t -> enum -> int -> int -> int -> int -> int -> enum -> ('a, 'b) Brr.Tarray.t -> unit

compressedTexSubImage2D ctarget level xoffset yoffset width height format srcData

val compressed_tex_sub_image2d_size : t -> enum -> int -> int -> int -> int -> int -> enum -> int -> int -> unit

compressedTexSubImage2D ctarget level xoffset yoffset width height format imageSize offset

val compressed_tex_sub_image3d : t -> enum -> int -> int -> int -> int -> int -> int -> int -> enum -> ('a, 'b) Brr.Tarray.t -> unit

compressedTexSubImage3D ctarget level xoffset yoffset zoffset width height depth format srcData

val compressed_tex_sub_image3d_size : t -> enum -> int -> int -> int -> int -> int -> int -> int -> enum -> int -> int -> unit

compressedTexSubImage3D ctarget level xoffset yoffset zoffset width height depth format imageSize offset

val copy_buffer_sub_data : t -> enum -> enum -> int -> int -> int -> unit

copyBufferSubData creadTarget writeTarget readOffset writeOffset size

val copy_tex_image2d : t -> enum -> int -> enum -> int -> int -> int -> int -> int -> unit

copyTexImage2D ctarget level internalformat x y width height border

val copy_tex_sub_image2d : t -> enum -> int -> int -> int -> int -> int -> int -> int -> unit

copyTexSubImage2D ctarget level xoffset yoffset x y width height

val copy_tex_sub_image3d : t -> enum -> int -> int -> int -> int -> int -> int -> int -> int -> unit

copyTexSubImage3D ctarget level xoffset yoffset zoffset x y width height

val create_buffer : t -> buffer
val create_framebuffer : t -> framebuffer
val create_program : t -> program
val create_query : t -> query
val create_renderbuffer : t -> renderbuffer
val create_sampler : t -> sampler
val create_shader : t -> enum -> shader
val create_texture : t -> texture
val create_transform_feedback : t -> transform_feedback
val create_vertex_array : t -> vertex_array_object
val cull_face : t -> enum -> unit

cullFace cmode

val delete_buffer : t -> buffer -> unit

deleteBuffer cbuffer

val delete_framebuffer : t -> framebuffer -> unit

deleteFramebuffer cframebuffer

val delete_program : t -> program -> unit

deleteProgram cprogram

val delete_query : t -> query -> unit
val delete_renderbuffer : t -> renderbuffer -> unit

deleteRenderbuffer crenderbuffer

val delete_sampler : t -> sampler -> unit

deleteSampler csampler

val delete_shader : t -> shader -> unit

deleteShader cshader

val delete_sync : t -> sync -> unit
val delete_texture : t -> texture -> unit

deleteTexture ctexture

val delete_transform_feedback : t -> transform_feedback -> unit
val delete_vertex_array : t -> vertex_array_object -> unit

deleteVertexArray cvertexArray

val depth_func : t -> enum -> unit

depthFunc cfunc

val depth_mask : t -> bool -> unit

depthMask cflag

val detach_shader : t -> program -> shader -> unit

detachShader cprogram shader

val disable : t -> enum -> unit

disable ccap

val disable_vertex_attrib_array : t -> int -> unit
val draw_arrays : t -> enum -> int -> int -> unit

drawArrays cmode first count

val draw_arrays_instanced : t -> enum -> int -> int -> int -> unit

drawArraysInstanced cmode first count instanceCount

val draw_buffers : t -> enum list -> unit

drawBuffers cbuffers

val draw_elements : t -> enum -> int -> enum -> int -> unit

drawElements cmode count type offset

val draw_elements_instanced : t -> enum -> int -> enum -> int -> int -> unit

drawElementsInstanced cmode count type offset instanceCount

val draw_range_elements : t -> enum -> int -> int -> int -> enum -> int -> unit

drawRangeElements cmode start end count type offset

val enable : t -> enum -> unit

enable ccap

val enable_vertex_attrib_array : t -> int -> unit
val end_query : t -> enum -> unit

endQuery ctarget

val end_transform_feedback : t -> unit
val fence_sync : t -> enum -> int -> sync

fenceSync ccondition flags

val finish : t -> unit
val flush : t -> unit
val framebuffer_renderbuffer : t -> enum -> enum -> enum -> renderbuffer -> unit

framebufferRenderbuffer ctarget attachment renderbuffertarget renderbuffer

val framebuffer_texture2d : t -> enum -> enum -> enum -> texture -> int -> unit

framebufferTexture2D ctarget attachment textarget texture level

val framebuffer_texture_layer : t -> enum -> enum -> texture -> int -> int -> unit

framebufferTextureLayer ctarget attachment texture level layer

val front_face : t -> enum -> unit

frontFace cmode

val generate_mipmap : t -> enum -> unit
val get_active_attrib : t -> program -> int -> Active_info.t

getActiveAttrib cprogram index

val get_active_uniform : t -> program -> int -> Active_info.t

getActiveUniform cprogram index

val get_active_uniform_block_name : t -> program -> int -> Jstr.t

getActiveUniformBlockName cprogram uniformBlockIndex

val get_active_uniform_block_parameter : t -> program -> int -> enum -> Jv.t

getActiveUniformBlockParameter cprogram uniformBlockIndex pname

val get_active_uniforms : t -> program -> int list -> enum -> Jv.t

getActiveUniforms cprogram uniformIndices pname

val get_attached_shaders : t -> program -> shader list
val get_attrib_location : t -> program -> Jstr.t -> int

getAttribLocation cprogram name

val get_buffer_parameter : t -> enum -> enum -> Jv.t

getBufferParameter ctarget pname

val get_buffer_sub_data : t -> enum -> int -> ('a, 'b) Brr.Tarray.t -> unit

getBufferSubData ctarget srcByteOffset dstBuffer

val get_error : t -> enum
val get_frag_data_location : t -> program -> Jstr.t -> int

getFragDataLocation cprogram name

val get_framebuffer_attachment_parameter : t -> enum -> enum -> enum -> Jv.t

getFramebufferAttachmentParameter ctarget attachment pname

val get_indexed_parameter : t -> enum -> int -> Jv.t

getIndexedParameter ctarget index

val get_internalformat_parameter : t -> enum -> enum -> enum -> Jv.t

getInternalformatParameter ctarget internalformat pname

val get_parameter : t -> enum -> Jv.t
val get_program_info_log : t -> program -> Jstr.t
val get_program_parameter : t -> program -> enum -> Jv.t

getProgramParameter cprogram pname

val get_query : t -> enum -> enum -> query

getQuery ctarget pname

val get_query_parameter : t -> query -> enum -> Jv.t

getQueryParameter cquery pname

val get_renderbuffer_parameter : t -> enum -> enum -> Jv.t
val get_sampler_parameter : t -> sampler -> enum -> Jv.t

getSamplerParameter csampler pname

val get_shader_info_log : t -> shader -> Jstr.t
val get_shader_parameter : t -> shader -> enum -> Jv.t

getShaderParameter cshader pname

val get_shader_precision_format : t -> enum -> enum -> Shader_precision_format.t

getShaderPrecisionFormat cshadertype precisiontype

val get_shader_source : t -> shader -> Jstr.t
val get_sync_parameter : t -> sync -> enum -> Jv.t

getSyncParameter csync pname

val get_tex_parameter : t -> enum -> enum -> Jv.t

getTexParameter ctarget pname

val get_transform_feedback_varying : t -> program -> int -> Active_info.t
val get_uniform : t -> program -> uniform_location -> Jv.t

getUniform cprogram location

val get_uniform_block_index : t -> program -> Jstr.t -> int

getUniformBlockIndex cprogram uniformBlockName

val get_uniform_indices : t -> program -> Jstr.t list -> int list

getUniformIndices cprogram uniformNames

val get_uniform_location : t -> program -> Jstr.t -> uniform_location

getUniformLocation cprogram name

val get_vertex_attrib : t -> int -> enum -> Jv.t

getVertexAttrib cindex pname

val get_vertex_attrib_offset : t -> int -> enum -> int
val hint : t -> enum -> enum -> unit

hint ctarget mode

val invalidate_framebuffer : t -> enum -> enum list -> unit

invalidateFramebuffer ctarget attachments

val invalidate_sub_framebuffer : t -> enum -> enum list -> int -> int -> int -> int -> unit

invalidateSubFramebuffer ctarget attachments x y width height

val is_buffer : t -> buffer -> bool

isBuffer cbuffer

val is_enabled : t -> enum -> bool
val is_framebuffer : t -> framebuffer -> bool

isFramebuffer cframebuffer

val is_program : t -> program -> bool

isProgram cprogram

val is_query : t -> query -> bool

isQuery cquery

val is_renderbuffer : t -> renderbuffer -> bool

isRenderbuffer crenderbuffer

val is_sampler : t -> sampler -> bool

isSampler csampler

val is_shader : t -> shader -> bool

isShader cshader

val is_texture : t -> texture -> bool

isTexture ctexture

val is_transform_feedback : t -> transform_feedback -> bool
val is_vertex_array : t -> vertex_array_object -> bool

isVertexArray cvertexArray

val line_width : t -> float -> unit

lineWidth cwidth

linkProgram cprogram

val pause_transform_feedback : t -> unit
val pixel_storei : t -> enum -> int -> unit

pixelStorei cpname param

val polygon_offset : t -> float -> float -> unit

polygonOffset cfactor units

val read_buffer : t -> enum -> unit
val read_pixels_to_pixel_pack : t -> int -> int -> int -> int -> enum -> enum -> int -> unit

readPixels cx y width height format type offset

val read_pixels : t -> int -> int -> int -> int -> enum -> enum -> ('a, 'b) Brr.Tarray.t -> unit

readPixels cx y width height format type dstData

val renderbuffer_storage : t -> enum -> enum -> int -> int -> unit

renderbufferStorage ctarget internalformat width height

val renderbuffer_storage_multisample : t -> enum -> int -> enum -> int -> int -> unit

renderbufferStorageMultisample ctarget samples internalformat width height

val resume_transform_feedback : t -> unit
val sample_coverage : t -> float -> bool -> unit

sampleCoverage cvalue invert

val sampler_parameterf : t -> sampler -> enum -> float -> unit

samplerParameterf csampler pname param

val sampler_parameteri : t -> sampler -> enum -> int -> unit

samplerParameteri csampler pname param

val scissor : t -> int -> int -> int -> int -> unit

scissor cx y width height

val shader_source : t -> shader -> Jstr.t -> unit

shaderSource cshader source

val stencil_func : t -> enum -> int -> int -> unit

stencilFunc cfunc ref mask

val stencil_func_separate : t -> enum -> enum -> int -> int -> unit

stencilFuncSeparate cface func ref mask

val stencil_mask : t -> int -> unit
val stencil_mask_separate : t -> enum -> int -> unit
val stencil_op : t -> enum -> enum -> enum -> unit

stencilOp cfail zfail zpass

val stencil_op_separate : t -> enum -> enum -> enum -> enum -> unit

stencilOpSeparate cface fail zfail zpass

val tex_image2d : t -> enum -> int -> int -> int -> int -> int -> enum -> enum -> ('a, 'b) Brr.Tarray.t -> int -> unit

texImage2D ctarget level internalformat width height border format type srcData srcOffset

val tex_image2d_of_source : t -> enum -> int -> int -> int -> int -> int -> enum -> enum -> Tex_image_source.t -> unit

texImage2D ctarget level internalformat width height border format type source

val tex_image2d_of_pixel_unpack : t -> enum -> int -> int -> int -> int -> int -> enum -> enum -> int -> unit

texImage2D ctarget level internalformat width height border format type pboOffset

val tex_image3d : t -> enum -> int -> int -> int -> int -> int -> int -> enum -> enum -> ('a, 'b) Brr.Tarray.t -> int -> unit

texImage3D ctarget level internalformat width height depth border format type srcData srcOffset

val tex_image3d_of_source : t -> enum -> int -> int -> int -> int -> int -> int -> enum -> enum -> Tex_image_source.t -> unit

texImage3D ctarget level internalformat width height depth border format type source

val tex_image3d_of_pixel_unpack : t -> enum -> int -> int -> int -> int -> int -> int -> enum -> enum -> int -> unit

texImage3D ctarget level internalformat width height depth border format type pboOffset

val tex_parameterf : t -> enum -> enum -> float -> unit

texParameterf ctarget pname param

val tex_parameteri : t -> enum -> enum -> int -> unit

texParameteri ctarget pname param

val tex_storage2d : t -> enum -> int -> enum -> int -> int -> unit

texStorage2D ctarget levels internalformat width height

val tex_storage3d : t -> enum -> int -> enum -> int -> int -> int -> unit

texStorage3D ctarget levels internalformat width height depth

val tex_sub_image2d : t -> enum -> int -> int -> int -> int -> int -> enum -> enum -> ('a, 'b) Brr.Tarray.t -> int -> unit

texSubImage2D ctarget level xoffset yoffset width height format type srcData srcOffset

val tex_sub_image2d_of_source : t -> enum -> int -> int -> int -> int -> int -> enum -> enum -> Tex_image_source.t -> unit

texSubImage2D ctarget level xoffset yoffset width height format type source

val tex_sub_image2d_of_pixel_unpack : t -> enum -> int -> int -> int -> int -> int -> enum -> enum -> int -> unit

texSubImage2D ctarget level xoffset yoffset width height format type pboOffset

val tex_sub_image3d : t -> enum -> int -> int -> int -> int -> int -> int -> int -> enum -> enum -> ('a, 'b) Brr.Tarray.t -> unit

texSubImage3D ctarget level xoffset yoffset zoffset width height depth format type srcData

val tex_sub_image3d_of_source : t -> enum -> int -> int -> int -> int -> int -> int -> int -> enum -> enum -> Tex_image_source.t -> unit

texSubImage3D ctarget level xoffset yoffset zoffset width height depth format type source

val tex_sub_image3d_of_pixel_unpack : t -> enum -> int -> int -> int -> int -> int -> int -> int -> enum -> enum -> int -> unit

texSubImage3D ctarget level xoffset yoffset zoffset width height depth format type pboOffset

val transform_feedback_varyings : t -> program -> Jstr.t list -> enum -> unit

transformFeedbackVaryings cprogram varyings bufferMode

val uniform1f : t -> uniform_location -> float -> unit

uniform1f clocation x

val uniform1fv : t -> uniform_location -> Brr.Tarray.float32 -> unit

uniform1fv clocation data

val uniform1i : t -> uniform_location -> int -> unit

uniform1i clocation x

val uniform1iv : t -> uniform_location -> Brr.Tarray.int32 -> unit

uniform1iv clocation data

val uniform1ui : t -> uniform_location -> int -> unit

uniform1ui clocation v0

val uniform1uiv : t -> uniform_location -> Brr.Tarray.uint32 -> unit

uniform1uiv clocation data

val uniform2f : t -> uniform_location -> float -> float -> unit

uniform2f clocation x y

val uniform2fv : t -> uniform_location -> Brr.Tarray.float32 -> unit

uniform2fv clocation data

val uniform2i : t -> uniform_location -> int -> int -> unit

uniform2i clocation x y

val uniform2iv : t -> uniform_location -> Brr.Tarray.int32 -> unit

uniform2iv clocation data

val uniform2ui : t -> uniform_location -> int -> int -> unit

uniform2ui clocation v0 v1

val uniform2uiv : t -> uniform_location -> Brr.Tarray.uint32 -> unit

uniform2uiv clocation data

val uniform3f : t -> uniform_location -> float -> float -> float -> unit

uniform3f clocation x y z

val uniform3fv : t -> uniform_location -> Brr.Tarray.float32 -> unit

uniform3fv clocation data

val uniform3i : t -> uniform_location -> int -> int -> int -> unit

uniform3i clocation x y z

val uniform3iv : t -> uniform_location -> Brr.Tarray.int32 -> unit

uniform3iv clocation data

val uniform3ui : t -> uniform_location -> int -> int -> int -> unit

uniform3ui clocation v0 v1 v2

val uniform3uiv : t -> uniform_location -> Brr.Tarray.uint32 -> unit

uniform3uiv clocation data

val uniform4f : t -> uniform_location -> float -> float -> float -> float -> unit

uniform4f clocation x y z w

val uniform4fv : t -> uniform_location -> Brr.Tarray.float32 -> unit

uniform4fv clocation data

val uniform4i : t -> uniform_location -> int -> int -> int -> int -> unit

uniform4i clocation x y z w

val uniform4iv : t -> uniform_location -> Brr.Tarray.int32 -> unit

uniform4iv clocation data

val uniform4ui : t -> uniform_location -> int -> int -> int -> int -> unit

uniform4ui clocation v0 v1 v2 v3

val uniform4uiv : t -> uniform_location -> Brr.Tarray.uint32 -> unit

uniform4uiv clocation data

val uniform_block_binding : t -> program -> int -> int -> unit

uniformBlockBinding cprogram uniformBlockIndex uniformBlockBinding

val uniform_matrix2fv : t -> uniform_location -> bool -> Brr.Tarray.float32 -> unit

uniformMatrix2fv clocation transpose data

val uniform_matrix2x3fv : t -> uniform_location -> bool -> Brr.Tarray.float32 -> unit

uniformMatrix2x3fv clocation transpose data

val uniform_matrix2x4fv : t -> uniform_location -> bool -> Brr.Tarray.float32 -> unit

uniformMatrix2x4fv clocation transpose data

val uniform_matrix3fv : t -> uniform_location -> bool -> Brr.Tarray.float32 -> unit

uniformMatrix3fv clocation transpose data

val uniform_matrix3x2fv : t -> uniform_location -> bool -> Brr.Tarray.float32 -> unit

uniformMatrix3x2fv clocation transpose data

val uniform_matrix3x4fv : t -> uniform_location -> bool -> Brr.Tarray.float32 -> unit

uniformMatrix3x4fv clocation transpose data

val uniform_matrix4fv : t -> uniform_location -> bool -> Brr.Tarray.float32 -> unit

uniformMatrix4fv clocation transpose data

val uniform_matrix4x2fv : t -> uniform_location -> bool -> Brr.Tarray.float32 -> unit

uniformMatrix4x2fv clocation transpose data

val uniform_matrix4x3fv : t -> uniform_location -> bool -> Brr.Tarray.float32 -> unit

uniformMatrix4x3fv clocation transpose data

val use_program : t -> program -> unit

useProgram cprogram

val validate_program : t -> program -> unit
val vertex_attrib1f : t -> int -> float -> unit
val vertex_attrib1fv : t -> int -> Brr.Tarray.float32 -> unit

vertexAttrib1fv cindex values

val vertex_attrib2f : t -> int -> float -> float -> unit

vertexAttrib2f cindex x y

val vertex_attrib2fv : t -> int -> Brr.Tarray.float32 -> unit

vertexAttrib2fv cindex values

val vertex_attrib3f : t -> int -> float -> float -> float -> unit

vertexAttrib3f cindex x y z

val vertex_attrib3fv : t -> int -> Brr.Tarray.float32 -> unit

vertexAttrib3fv cindex values

val vertex_attrib4f : t -> int -> float -> float -> float -> float -> unit

vertexAttrib4f cindex x y z w

val vertex_attrib4fv : t -> int -> Brr.Tarray.float32 -> unit

vertexAttrib4fv cindex values

val vertex_attrib_divisor : t -> int -> int -> unit

vertexAttribDivisor cindex divisor

val vertex_attrib_i4i : t -> int -> int -> int -> int -> int -> unit

vertexAttribI4i cindex x y z w

val vertex_attrib_i4iv : t -> int -> Brr.Tarray.int32 -> unit

vertexAttribI4iv cindex values

val vertex_attrib_i4ui : t -> int -> int -> int -> int -> int -> unit

vertexAttribI4ui cindex x y z w

val vertex_attrib_i4uiv : t -> int -> Brr.Tarray.uint32 -> unit

vertexAttribI4uiv cindex values

val vertex_attrib_ipointer : t -> int -> int -> enum -> int -> int -> unit

vertexAttribIPointer cindex size type stride offset

val vertex_attrib_pointer : t -> int -> int -> enum -> bool -> int -> int -> unit

vertexAttribPointer cindex size type normalized stride offset

val viewport : t -> int -> int -> int -> int -> unit

viewport cx y width height

val wait_sync : t -> sync -> int -> int -> unit

waitSync csync flags timeout

Enum values

val active_attributes : enum
val active_texture' : enum
val active_uniform_blocks : enum
val active_uniforms : enum
val aliased_line_width_range : enum
val aliased_point_size_range : enum
val alpha : enum
val alpha_bits : enum
val already_signaled : enum
val always : enum
val any_samples_passed : enum
val any_samples_passed_conservative : enum
val array_buffer : enum
val array_buffer_binding : enum
val attached_shaders : enum
val back : enum
val blend : enum
val blend_color' : enum
val blend_dst_alpha : enum
val blend_dst_rgb : enum
val blend_equation' : enum
val blend_equation_alpha : enum
val blend_equation_rgb : enum
val blend_src_alpha : enum
val blend_src_rgb : enum
val blue_bits : enum
val bool : enum
val bool_vec2 : enum
val bool_vec3 : enum
val bool_vec4 : enum
val browser_default_webgl : enum
val buffer_size : enum
val buffer_usage : enum
val byte : enum
val ccw : enum
val clamp_to_edge : enum
val color : enum
val color_attachment0 : enum
val color_attachment1 : enum
val color_attachment10 : enum
val color_attachment11 : enum
val color_attachment12 : enum
val color_attachment13 : enum
val color_attachment14 : enum
val color_attachment15 : enum
val color_attachment2 : enum
val color_attachment3 : enum
val color_attachment4 : enum
val color_attachment5 : enum
val color_attachment6 : enum
val color_attachment7 : enum
val color_attachment8 : enum
val color_attachment9 : enum
val color_buffer_bit : enum
val color_clear_value : enum
val color_writemask : enum
val compare_ref_to_texture : enum
val compile_status : enum
val compressed_texture_formats : enum
val condition_satisfied : enum
val constant_alpha : enum
val constant_color : enum
val context_lost_webgl : enum
val copy_read_buffer : enum
val copy_read_buffer_binding : enum
val copy_write_buffer : enum
val copy_write_buffer_binding : enum
val cull_face' : enum
val cull_face_mode : enum
val current_program : enum
val current_query : enum
val current_vertex_attrib : enum
val cw : enum
val decr : enum
val decr_wrap : enum
val delete_status : enum
val depth : enum
val depth24_stencil8 : enum
val depth32f_stencil8 : enum
val depth_attachment : enum
val depth_bits : enum
val depth_buffer_bit : enum
val depth_clear_value : enum
val depth_component : enum
val depth_component16 : enum
val depth_component24 : enum
val depth_component32f : enum
val depth_func' : enum
val depth_range : enum
val depth_stencil : enum
val depth_stencil_attachment : enum
val depth_test : enum
val depth_writemask : enum
val dither : enum
val dont_care : enum
val draw_buffer0 : enum
val draw_buffer1 : enum
val draw_buffer10 : enum
val draw_buffer11 : enum
val draw_buffer12 : enum
val draw_buffer13 : enum
val draw_buffer14 : enum
val draw_buffer15 : enum
val draw_buffer2 : enum
val draw_buffer3 : enum
val draw_buffer4 : enum
val draw_buffer5 : enum
val draw_buffer6 : enum
val draw_buffer7 : enum
val draw_buffer8 : enum
val draw_buffer9 : enum
val draw_framebuffer : enum
val draw_framebuffer_binding : enum
val dst_alpha : enum
val dst_color : enum
val dynamic_copy : enum
val dynamic_draw : enum
val dynamic_read : enum
val element_array_buffer : enum
val element_array_buffer_binding : enum
val equal : enum
val fastest : enum
val float : enum
val float_32_unsigned_int_24_8_rev : enum
val float_mat2 : enum
val float_mat2x3 : enum
val float_mat2x4 : enum
val float_mat3 : enum
val float_mat3x2 : enum
val float_mat3x4 : enum
val float_mat4 : enum
val float_mat4x2 : enum
val float_mat4x3 : enum
val float_vec2 : enum
val float_vec3 : enum
val float_vec4 : enum
val fragment_shader : enum
val fragment_shader_derivative_hint : enum
val framebuffer : enum
val framebuffer_attachment_alpha_size : enum
val framebuffer_attachment_blue_size : enum
val framebuffer_attachment_color_encoding : enum
val framebuffer_attachment_component_type : enum
val framebuffer_attachment_depth_size : enum
val framebuffer_attachment_green_size : enum
val framebuffer_attachment_object_name : enum
val framebuffer_attachment_object_type : enum
val framebuffer_attachment_red_size : enum
val framebuffer_attachment_stencil_size : enum
val framebuffer_attachment_texture_cube_map_face : enum
val framebuffer_attachment_texture_layer : enum
val framebuffer_attachment_texture_level : enum
val framebuffer_binding : enum
val framebuffer_complete : enum
val framebuffer_default : enum
val framebuffer_incomplete_attachment : enum
val framebuffer_incomplete_dimensions : enum
val framebuffer_incomplete_missing_attachment : enum
val framebuffer_incomplete_multisample : enum
val framebuffer_unsupported : enum
val front : enum
val front_and_back : enum
val front_face' : enum
val func_add : enum
val func_reverse_subtract : enum
val func_subtract : enum
val generate_mipmap_hint : enum
val gequal : enum
val greater : enum
val green_bits : enum
val half_float : enum
val high_float : enum
val high_int : enum
val implementation_color_read_format : enum
val implementation_color_read_type : enum
val incr : enum
val incr_wrap : enum
val int : enum
val int_2_10_10_10_rev : enum
val int_sampler_2d : enum
val int_sampler_2d_array : enum
val int_sampler_3d : enum
val int_sampler_cube : enum
val int_vec2 : enum
val int_vec3 : enum
val int_vec4 : enum
val interleaved_attribs : enum
val invalid_enum : enum
val invalid_framebuffer_operation : enum
val invalid_index : enum
val invalid_operation : enum
val invalid_value : enum
val invert : enum
val keep : enum
val lequal : enum
val less : enum
val line_loop : enum
val line_strip : enum
val line_width' : enum
val linear : enum
val linear_mipmap_linear : enum
val linear_mipmap_nearest : enum
val lines : enum
val low_float : enum
val low_int : enum
val luminance : enum
val luminance_alpha : enum
val max : enum
val max_3d_texture_size : enum
val max_array_texture_layers : enum
val max_client_wait_timeout_webgl : enum
val max_color_attachments : enum
val max_combined_fragment_uniform_components : enum
val max_combined_texture_image_units : enum
val max_combined_uniform_blocks : enum
val max_combined_vertex_uniform_components : enum
val max_cube_map_texture_size : enum
val max_draw_buffers : enum
val max_element_index : enum
val max_elements_indices : enum
val max_elements_vertices : enum
val max_fragment_input_components : enum
val max_fragment_uniform_blocks : enum
val max_fragment_uniform_components : enum
val max_fragment_uniform_vectors : enum
val max_program_texel_offset : enum
val max_renderbuffer_size : enum
val max_samples : enum
val max_server_wait_timeout : enum
val max_texture_image_units : enum
val max_texture_lod_bias : enum
val max_texture_size : enum
val max_transform_feedback_interleaved_components : enum
val max_transform_feedback_separate_attribs : enum
val max_transform_feedback_separate_components : enum
val max_uniform_block_size : enum
val max_uniform_buffer_bindings : enum
val max_varying_components : enum
val max_varying_vectors : enum
val max_vertex_attribs : enum
val max_vertex_output_components : enum
val max_vertex_texture_image_units : enum
val max_vertex_uniform_blocks : enum
val max_vertex_uniform_components : enum
val max_vertex_uniform_vectors : enum
val max_viewport_dims : enum
val medium_float : enum
val medium_int : enum
val min : enum
val min_program_texel_offset : enum
val mirrored_repeat : enum
val nearest : enum
val nearest_mipmap_linear : enum
val nearest_mipmap_nearest : enum
val never : enum
val nicest : enum
val no_error : enum
val none : enum
val notequal : enum
val object_type : enum
val one : enum
val one_minus_constant_alpha : enum
val one_minus_constant_color : enum
val one_minus_dst_alpha : enum
val one_minus_dst_color : enum
val one_minus_src_alpha : enum
val one_minus_src_color : enum
val out_of_memory : enum
val pack_alignment : enum
val pack_row_length : enum
val pack_skip_pixels : enum
val pack_skip_rows : enum
val pixel_pack_buffer : enum
val pixel_pack_buffer_binding : enum
val pixel_unpack_buffer : enum
val pixel_unpack_buffer_binding : enum
val points : enum
val polygon_offset_factor : enum
val polygon_offset_fill : enum
val polygon_offset_units : enum
val query_result : enum
val query_result_available : enum
val r11f_g11f_b10f : enum
val r16f : enum
val r16i : enum
val r16ui : enum
val r32f : enum
val r32i : enum
val r32ui : enum
val r8 : enum
val r8_snorm : enum
val r8i : enum
val r8ui : enum
val rasterizer_discard : enum
val read_buffer' : enum
val read_framebuffer : enum
val read_framebuffer_binding : enum
val red : enum
val red_bits : enum
val red_integer : enum
val renderbuffer : enum
val renderbuffer_alpha_size : enum
val renderbuffer_binding : enum
val renderbuffer_blue_size : enum
val renderbuffer_depth_size : enum
val renderbuffer_green_size : enum
val renderbuffer_height : enum
val renderbuffer_internal_format : enum
val renderbuffer_red_size : enum
val renderbuffer_samples : enum
val renderbuffer_stencil_size : enum
val renderbuffer_width : enum
val renderer : enum
val repeat : enum
val replace : enum
val rg : enum
val rg16f : enum
val rg16i : enum
val rg16ui : enum
val rg32f : enum
val rg32i : enum
val rg32ui : enum
val rg8 : enum
val rg8_snorm : enum
val rg8i : enum
val rg8ui : enum
val rg_integer : enum
val rgb : enum
val rgb10_a2 : enum
val rgb10_a2ui : enum
val rgb16f : enum
val rgb16i : enum
val rgb16ui : enum
val rgb32f : enum
val rgb32i : enum
val rgb32ui : enum
val rgb565 : enum
val rgb5_a1 : enum
val rgb8 : enum
val rgb8_snorm : enum
val rgb8i : enum
val rgb8ui : enum
val rgb9_e5 : enum
val rgb_integer : enum
val rgba : enum
val rgba16f : enum
val rgba16i : enum
val rgba16ui : enum
val rgba32f : enum
val rgba32i : enum
val rgba32ui : enum
val rgba4 : enum
val rgba8 : enum
val rgba8_snorm : enum
val rgba8i : enum
val rgba8ui : enum
val rgba_integer : enum
val sample_alpha_to_coverage : enum
val sample_buffers : enum
val sample_coverage' : enum
val sample_coverage_invert : enum
val sample_coverage_value : enum
val sampler_2d : enum
val sampler_2d_array : enum
val sampler_2d_array_shadow : enum
val sampler_2d_shadow : enum
val sampler_3d : enum
val sampler_binding : enum
val sampler_cube : enum
val sampler_cube_shadow : enum
val samples : enum
val scissor_box : enum
val scissor_test : enum
val separate_attribs : enum
val shader_type : enum
val shading_language_version : enum
val short : enum
val signaled : enum
val signed_normalized : enum
val src_alpha : enum
val src_alpha_saturate : enum
val src_color : enum
val srgb : enum
val srgb8 : enum
val srgb8_alpha8 : enum
val static_copy : enum
val static_draw : enum
val static_read : enum
val stencil : enum
val stencil_attachment : enum
val stencil_back_fail : enum
val stencil_back_func : enum
val stencil_back_pass_depth_fail : enum
val stencil_back_pass_depth_pass : enum
val stencil_back_ref : enum
val stencil_back_value_mask : enum
val stencil_back_writemask : enum
val stencil_bits : enum
val stencil_buffer_bit : enum
val stencil_clear_value : enum
val stencil_fail : enum
val stencil_func' : enum
val stencil_index8 : enum
val stencil_pass_depth_fail : enum
val stencil_pass_depth_pass : enum
val stencil_ref : enum
val stencil_test : enum
val stencil_value_mask : enum
val stencil_writemask : enum
val stream_copy : enum
val stream_draw : enum
val stream_read : enum
val subpixel_bits : enum
val sync_condition : enum
val sync_fence : enum
val sync_flags : enum
val sync_flush_commands_bit : enum
val sync_gpu_commands_complete : enum
val sync_status : enum
val texture : enum
val texture0 : enum
val texture1 : enum
val texture10 : enum
val texture11 : enum
val texture12 : enum
val texture13 : enum
val texture14 : enum
val texture15 : enum
val texture16 : enum
val texture17 : enum
val texture18 : enum
val texture19 : enum
val texture2 : enum
val texture20 : enum
val texture21 : enum
val texture22 : enum
val texture23 : enum
val texture24 : enum
val texture25 : enum
val texture26 : enum
val texture27 : enum
val texture28 : enum
val texture29 : enum
val texture3 : enum
val texture30 : enum
val texture31 : enum
val texture4 : enum
val texture5 : enum
val texture6 : enum
val texture7 : enum
val texture8 : enum
val texture9 : enum
val texture_2d : enum
val texture_2d_array : enum
val texture_3d : enum
val texture_base_level : enum
val texture_binding_2d : enum
val texture_binding_2d_array : enum
val texture_binding_3d : enum
val texture_binding_cube_map : enum
val texture_compare_func : enum
val texture_compare_mode : enum
val texture_cube_map : enum
val texture_cube_map_negative_x : enum
val texture_cube_map_negative_y : enum
val texture_cube_map_negative_z : enum
val texture_cube_map_positive_x : enum
val texture_cube_map_positive_y : enum
val texture_cube_map_positive_z : enum
val texture_immutable_format : enum
val texture_immutable_levels : enum
val texture_mag_filter : enum
val texture_max_level : enum
val texture_max_lod : enum
val texture_min_filter : enum
val texture_min_lod : enum
val texture_wrap_r : enum
val texture_wrap_s : enum
val texture_wrap_t : enum
val timeout_expired : enum
val timeout_ignored : int
val transform_feedback : enum
val transform_feedback_active : enum
val transform_feedback_binding : enum
val transform_feedback_buffer : enum
val transform_feedback_buffer_binding : enum
val transform_feedback_buffer_mode : enum
val transform_feedback_buffer_size : enum
val transform_feedback_buffer_start : enum
val transform_feedback_paused : enum
val transform_feedback_primitives_written : enum
val transform_feedback_varyings' : enum
val triangle_fan : enum
val triangle_strip : enum
val triangles : enum
val uniform_array_stride : enum
val uniform_block_active_uniform_indices : enum
val uniform_block_active_uniforms : enum
val uniform_block_binding' : enum
val uniform_block_data_size : enum
val uniform_block_index : enum
val uniform_block_referenced_by_fragment_shader : enum
val uniform_block_referenced_by_vertex_shader : enum
val uniform_buffer : enum
val uniform_buffer_binding : enum
val uniform_buffer_offset_alignment : enum
val uniform_buffer_size : enum
val uniform_buffer_start : enum
val uniform_is_row_major : enum
val uniform_matrix_stride : enum
val uniform_offset : enum
val uniform_size : enum
val uniform_type : enum
val unpack_alignment : enum
val unpack_colorspace_conversion_webgl : enum
val unpack_flip_y_webgl : enum
val unpack_image_height : enum
val unpack_premultiply_alpha_webgl : enum
val unpack_row_length : enum
val unpack_skip_images : enum
val unpack_skip_pixels : enum
val unpack_skip_rows : enum
val unsignaled : enum
val unsigned_byte : enum
val unsigned_int : enum
val unsigned_int_10f_11f_11f_rev : enum
val unsigned_int_24_8 : enum
val unsigned_int_2_10_10_10_rev : enum
val unsigned_int_5_9_9_9_rev : enum
val unsigned_int_sampler_2d : enum
val unsigned_int_sampler_2d_array : enum
val unsigned_int_sampler_3d : enum
val unsigned_int_sampler_cube : enum
val unsigned_int_vec2 : enum
val unsigned_int_vec3 : enum
val unsigned_int_vec4 : enum
val unsigned_normalized : enum
val unsigned_short : enum
val unsigned_short_4_4_4_4 : enum
val unsigned_short_5_5_5_1 : enum
val unsigned_short_5_6_5 : enum
val validate_status : enum
val vendor : enum
val version : enum
val vertex_array_binding : enum
val vertex_attrib_array_buffer_binding : enum
val vertex_attrib_array_divisor : enum
val vertex_attrib_array_enabled : enum
val vertex_attrib_array_integer : enum
val vertex_attrib_array_normalized : enum
val vertex_attrib_array_pointer : enum
val vertex_attrib_array_size : enum
val vertex_attrib_array_stride : enum
val vertex_attrib_array_type : enum
val vertex_shader : enum
val viewport' : enum
val wait_failed : enum
val zero : enum