pub trait WebGLRenderingContextMethods<D: DomTypes> {
Show 143 methods
// Required methods
fn Canvas(&self) -> HTMLCanvasElementOrOffscreenCanvas;
fn DrawingBufferWidth(&self) -> i32;
fn DrawingBufferHeight(&self) -> i32;
fn GetContextAttributes(&self) -> Option<WebGLContextAttributes>;
fn IsContextLost(&self) -> bool;
fn GetSupportedExtensions(&self) -> Option<Vec<DOMString>>;
fn GetExtension(
&self,
cx: SafeJSContext,
name: DOMString,
) -> Option<NonNull<JSObject>>;
fn ActiveTexture(&self, texture: u32);
fn AttachShader(&self, program: &WebGLProgram, shader: &WebGLShader);
fn BindAttribLocation(
&self,
program: &WebGLProgram,
index: u32,
name: DOMString,
);
fn BindBuffer(&self, target: u32, buffer: Option<&WebGLBuffer>);
fn BindFramebuffer(
&self,
target: u32,
framebuffer: Option<&WebGLFramebuffer>,
);
fn BindRenderbuffer(
&self,
target: u32,
renderbuffer: Option<&WebGLRenderbuffer>,
);
fn BindTexture(&self, target: u32, texture: Option<&WebGLTexture>);
fn BlendColor(&self, red: f32, green: f32, blue: f32, alpha: f32);
fn BlendEquation(&self, mode: u32);
fn BlendEquationSeparate(&self, modeRGB: u32, modeAlpha: u32);
fn BlendFunc(&self, sfactor: u32, dfactor: u32);
fn BlendFuncSeparate(
&self,
srcRGB: u32,
dstRGB: u32,
srcAlpha: u32,
dstAlpha: u32,
);
fn CheckFramebufferStatus(&self, target: u32) -> u32;
fn Clear(&self, mask: u32);
fn ClearColor(&self, red: f32, green: f32, blue: f32, alpha: f32);
fn ClearDepth(&self, depth: f32);
fn ClearStencil(&self, s: i32);
fn ColorMask(&self, red: bool, green: bool, blue: bool, alpha: bool);
fn CompileShader(&self, shader: &WebGLShader);
fn CopyTexImage2D(
&self,
target: u32,
level: i32,
internalformat: u32,
x: i32,
y: i32,
width: i32,
height: i32,
border: i32,
);
fn CopyTexSubImage2D(
&self,
target: u32,
level: i32,
xoffset: i32,
yoffset: i32,
x: i32,
y: i32,
width: i32,
height: i32,
);
fn CreateBuffer(&self) -> Option<Root<Dom<WebGLBuffer>>>;
fn CreateFramebuffer(&self) -> Option<Root<Dom<WebGLFramebuffer>>>;
fn CreateProgram(&self) -> Option<Root<Dom<WebGLProgram>>>;
fn CreateRenderbuffer(&self) -> Option<Root<Dom<WebGLRenderbuffer>>>;
fn CreateShader(&self, type_: u32) -> Option<Root<Dom<WebGLShader>>>;
fn CreateTexture(&self) -> Option<Root<Dom<WebGLTexture>>>;
fn CullFace(&self, mode: u32);
fn DeleteBuffer(&self, buffer: Option<&WebGLBuffer>);
fn DeleteFramebuffer(&self, framebuffer: Option<&WebGLFramebuffer>);
fn DeleteProgram(&self, program: Option<&WebGLProgram>);
fn DeleteRenderbuffer(&self, renderbuffer: Option<&WebGLRenderbuffer>);
fn DeleteShader(&self, shader: Option<&WebGLShader>);
fn DeleteTexture(&self, texture: Option<&WebGLTexture>);
fn DepthFunc(&self, func: u32);
fn DepthMask(&self, flag: bool);
fn DepthRange(&self, zNear: f32, zFar: f32);
fn DetachShader(&self, program: &WebGLProgram, shader: &WebGLShader);
fn Disable(&self, cap: u32);
fn DisableVertexAttribArray(&self, index: u32);
fn DrawArrays(&self, mode: u32, first: i32, count: i32);
fn DrawElements(&self, mode: u32, count: i32, type_: u32, offset: i64);
fn Enable(&self, cap: u32);
fn EnableVertexAttribArray(&self, index: u32);
fn Finish(&self);
fn Flush(&self);
fn FramebufferRenderbuffer(
&self,
target: u32,
attachment: u32,
renderbuffertarget: u32,
renderbuffer: Option<&WebGLRenderbuffer>,
);
fn FramebufferTexture2D(
&self,
target: u32,
attachment: u32,
textarget: u32,
texture: Option<&WebGLTexture>,
level: i32,
);
fn FrontFace(&self, mode: u32);
fn GenerateMipmap(&self, target: u32);
fn GetActiveAttrib(
&self,
program: &WebGLProgram,
index: u32,
) -> Option<Root<Dom<WebGLActiveInfo>>>;
fn GetActiveUniform(
&self,
program: &WebGLProgram,
index: u32,
) -> Option<Root<Dom<WebGLActiveInfo>>>;
fn GetAttachedShaders(
&self,
program: &WebGLProgram,
) -> Option<Vec<Root<Dom<WebGLShader>>>>;
fn GetAttribLocation(&self, program: &WebGLProgram, name: DOMString) -> i32;
fn GetBufferParameter(
&self,
cx: SafeJSContext,
target: u32,
pname: u32,
rval: MutableHandleValue<'_>,
);
fn GetParameter(
&self,
cx: SafeJSContext,
pname: u32,
rval: MutableHandleValue<'_>,
);
fn GetError(&self) -> u32;
fn GetFramebufferAttachmentParameter(
&self,
cx: SafeJSContext,
target: u32,
attachment: u32,
pname: u32,
rval: MutableHandleValue<'_>,
);
fn GetProgramParameter(
&self,
cx: SafeJSContext,
program: &WebGLProgram,
pname: u32,
rval: MutableHandleValue<'_>,
);
fn GetProgramInfoLog(&self, program: &WebGLProgram) -> Option<DOMString>;
fn GetRenderbufferParameter(
&self,
cx: SafeJSContext,
target: u32,
pname: u32,
rval: MutableHandleValue<'_>,
);
fn GetShaderParameter(
&self,
cx: SafeJSContext,
shader: &WebGLShader,
pname: u32,
rval: MutableHandleValue<'_>,
);
fn GetShaderPrecisionFormat(
&self,
shadertype: u32,
precisiontype: u32,
) -> Option<Root<Dom<WebGLShaderPrecisionFormat>>>;
fn GetShaderInfoLog(&self, shader: &WebGLShader) -> Option<DOMString>;
fn GetShaderSource(&self, shader: &WebGLShader) -> Option<DOMString>;
fn GetTexParameter(
&self,
cx: SafeJSContext,
target: u32,
pname: u32,
rval: MutableHandleValue<'_>,
);
fn GetUniform(
&self,
cx: SafeJSContext,
program: &WebGLProgram,
location: &WebGLUniformLocation,
rval: MutableHandleValue<'_>,
);
fn GetUniformLocation(
&self,
program: &WebGLProgram,
name: DOMString,
) -> Option<Root<Dom<WebGLUniformLocation>>>;
fn GetVertexAttrib(
&self,
cx: SafeJSContext,
index: u32,
pname: u32,
rval: MutableHandleValue<'_>,
);
fn GetVertexAttribOffset(&self, index: u32, pname: u32) -> i64;
fn Hint(&self, target: u32, mode: u32);
fn IsBuffer(&self, buffer: Option<&WebGLBuffer>) -> bool;
fn IsEnabled(&self, cap: u32) -> bool;
fn IsFramebuffer(&self, framebuffer: Option<&WebGLFramebuffer>) -> bool;
fn IsProgram(&self, program: Option<&WebGLProgram>) -> bool;
fn IsRenderbuffer(&self, renderbuffer: Option<&WebGLRenderbuffer>) -> bool;
fn IsShader(&self, shader: Option<&WebGLShader>) -> bool;
fn IsTexture(&self, texture: Option<&WebGLTexture>) -> bool;
fn LineWidth(&self, width: f32);
fn LinkProgram(&self, program: &WebGLProgram);
fn PixelStorei(&self, pname: u32, param: i32);
fn PolygonOffset(&self, factor: f32, units: f32);
fn RenderbufferStorage(
&self,
target: u32,
internalformat: u32,
width: i32,
height: i32,
);
fn SampleCoverage(&self, value: f32, invert: bool);
fn Scissor(&self, x: i32, y: i32, width: i32, height: i32);
fn ShaderSource(&self, shader: &WebGLShader, source: DOMString);
fn StencilFunc(&self, func: u32, ref_: i32, mask: u32);
fn StencilFuncSeparate(&self, face: u32, func: u32, ref_: i32, mask: u32);
fn StencilMask(&self, mask: u32);
fn StencilMaskSeparate(&self, face: u32, mask: u32);
fn StencilOp(&self, fail: u32, zfail: u32, zpass: u32);
fn StencilOpSeparate(&self, face: u32, fail: u32, zfail: u32, zpass: u32);
fn TexParameterf(&self, target: u32, pname: u32, param: f32);
fn TexParameteri(&self, target: u32, pname: u32, param: i32);
fn Uniform1f(&self, location: Option<&WebGLUniformLocation>, x: f32);
fn Uniform2f(&self, location: Option<&WebGLUniformLocation>, x: f32, y: f32);
fn Uniform3f(
&self,
location: Option<&WebGLUniformLocation>,
x: f32,
y: f32,
z: f32,
);
fn Uniform4f(
&self,
location: Option<&WebGLUniformLocation>,
x: f32,
y: f32,
z: f32,
w: f32,
);
fn Uniform1i(&self, location: Option<&WebGLUniformLocation>, x: i32);
fn Uniform2i(&self, location: Option<&WebGLUniformLocation>, x: i32, y: i32);
fn Uniform3i(
&self,
location: Option<&WebGLUniformLocation>,
x: i32,
y: i32,
z: i32,
);
fn Uniform4i(
&self,
location: Option<&WebGLUniformLocation>,
x: i32,
y: i32,
z: i32,
w: i32,
);
fn UseProgram(&self, program: Option<&WebGLProgram>);
fn ValidateProgram(&self, program: &WebGLProgram);
fn VertexAttrib1f(&self, indx: u32, x: f32);
fn VertexAttrib2f(&self, indx: u32, x: f32, y: f32);
fn VertexAttrib3f(&self, indx: u32, x: f32, y: f32, z: f32);
fn VertexAttrib4f(&self, indx: u32, x: f32, y: f32, z: f32, w: f32);
fn VertexAttrib1fv(
&self,
indx: u32,
values: Float32ArrayOrUnrestrictedFloatSequence,
);
fn VertexAttrib2fv(
&self,
indx: u32,
values: Float32ArrayOrUnrestrictedFloatSequence,
);
fn VertexAttrib3fv(
&self,
indx: u32,
values: Float32ArrayOrUnrestrictedFloatSequence,
);
fn VertexAttrib4fv(
&self,
indx: u32,
values: Float32ArrayOrUnrestrictedFloatSequence,
);
fn VertexAttribPointer(
&self,
indx: u32,
size: i32,
type_: u32,
normalized: bool,
stride: i32,
offset: i64,
);
fn Viewport(&self, x: i32, y: i32, width: i32, height: i32);
fn MakeXRCompatible(&self, _can_gc: CanGc) -> Rc<Promise>;
fn BufferData(&self, target: u32, size: i64, usage: u32);
fn BufferData_(
&self,
target: u32,
data: Option<ArrayBufferViewOrArrayBuffer>,
usage: u32,
);
fn BufferSubData(
&self,
target: u32,
offset: i64,
data: ArrayBufferViewOrArrayBuffer,
);
fn CompressedTexImage2D(
&self,
target: u32,
level: i32,
internalformat: u32,
width: i32,
height: i32,
border: i32,
data: CustomAutoRooterGuard<'_, ArrayBufferView>,
);
fn CompressedTexSubImage2D(
&self,
target: u32,
level: i32,
xoffset: i32,
yoffset: i32,
width: i32,
height: i32,
format: u32,
data: CustomAutoRooterGuard<'_, ArrayBufferView>,
);
fn ReadPixels(
&self,
x: i32,
y: i32,
width: i32,
height: i32,
format: u32,
type_: u32,
pixels: CustomAutoRooterGuard<'_, Option<ArrayBufferView>>,
);
fn TexImage2D(
&self,
target: u32,
level: i32,
internalformat: i32,
width: i32,
height: i32,
border: i32,
format: u32,
type_: u32,
pixels: CustomAutoRooterGuard<'_, Option<ArrayBufferView>>,
) -> Result<(), Error>;
fn TexImage2D_(
&self,
target: u32,
level: i32,
internalformat: i32,
format: u32,
type_: u32,
source: ImageDataOrHTMLImageElementOrHTMLCanvasElementOrHTMLVideoElement,
) -> Result<(), Error>;
fn TexSubImage2D(
&self,
target: u32,
level: i32,
xoffset: i32,
yoffset: i32,
width: i32,
height: i32,
format: u32,
type_: u32,
pixels: CustomAutoRooterGuard<'_, Option<ArrayBufferView>>,
) -> Result<(), Error>;
fn TexSubImage2D_(
&self,
target: u32,
level: i32,
xoffset: i32,
yoffset: i32,
format: u32,
type_: u32,
source: ImageDataOrHTMLImageElementOrHTMLCanvasElementOrHTMLVideoElement,
) -> Result<(), Error>;
fn Uniform1fv(
&self,
location: Option<&WebGLUniformLocation>,
v: Float32ArrayOrUnrestrictedFloatSequence,
);
fn Uniform2fv(
&self,
location: Option<&WebGLUniformLocation>,
v: Float32ArrayOrUnrestrictedFloatSequence,
);
fn Uniform3fv(
&self,
location: Option<&WebGLUniformLocation>,
v: Float32ArrayOrUnrestrictedFloatSequence,
);
fn Uniform4fv(
&self,
location: Option<&WebGLUniformLocation>,
v: Float32ArrayOrUnrestrictedFloatSequence,
);
fn Uniform1iv(
&self,
location: Option<&WebGLUniformLocation>,
v: Int32ArrayOrLongSequence,
);
fn Uniform2iv(
&self,
location: Option<&WebGLUniformLocation>,
v: Int32ArrayOrLongSequence,
);
fn Uniform3iv(
&self,
location: Option<&WebGLUniformLocation>,
v: Int32ArrayOrLongSequence,
);
fn Uniform4iv(
&self,
location: Option<&WebGLUniformLocation>,
v: Int32ArrayOrLongSequence,
);
fn UniformMatrix2fv(
&self,
location: Option<&WebGLUniformLocation>,
transpose: bool,
value: Float32ArrayOrUnrestrictedFloatSequence,
);
fn UniformMatrix3fv(
&self,
location: Option<&WebGLUniformLocation>,
transpose: bool,
value: Float32ArrayOrUnrestrictedFloatSequence,
);
fn UniformMatrix4fv(
&self,
location: Option<&WebGLUniformLocation>,
transpose: bool,
value: Float32ArrayOrUnrestrictedFloatSequence,
);
}