Implement various WebGL functions

This commit is contained in:
David Zbarsky 2015-11-28 18:38:14 -08:00
parent a1fb12616a
commit 0f4d6d58aa
15 changed files with 530 additions and 190 deletions

View file

@ -133,7 +133,8 @@ pub enum CanvasWebGLMsg {
BlendFunc(u32, u32),
BlendFuncSeparate(u32, u32, u32, u32),
AttachShader(u32, u32),
BufferData(u32, Vec<u8>, u32),
BindAttribLocation(u32, u32, String),
BufferData(u32, Vec<f32>, u32),
BufferSubData(u32, isize, Vec<u8>),
Clear(u32),
ClearColor(f32, f32, f32, f32),
@ -165,8 +166,12 @@ pub enum CanvasWebGLMsg {
BindRenderbuffer(u32, u32),
BindTexture(u32, u32),
DrawArrays(u32, i32, i32),
DrawElements(u32, i32, u32, i64),
EnableVertexAttribArray(u32),
GetShaderParameter(u32, u32, IpcSender<WebGLShaderParameter>),
GetBufferParameter(u32, u32, IpcSender<WebGLResult<WebGLParameter>>),
GetParameter(u32, IpcSender<WebGLResult<WebGLParameter>>),
GetProgramParameter(u32, u32, IpcSender<WebGLResult<WebGLParameter>>),
GetShaderParameter(u32, u32, IpcSender<WebGLResult<WebGLParameter>>),
GetAttribLocation(u32, String, IpcSender<Option<i32>>),
GetUniformLocation(u32, String, IpcSender<Option<i32>>),
PolygonOffset(f32, f32),
@ -176,6 +181,7 @@ pub enum CanvasWebGLMsg {
LinkProgram(u32),
Uniform4fv(i32, Vec<f32>),
UseProgram(u32),
VertexAttrib(u32, f32, f32, f32, f32),
VertexAttribPointer2f(u32, i32, bool, i32, u32),
Viewport(i32, i32, i32, i32),
TexImage2D(u32, i32, i32, i32, i32, u32, u32, Vec<u8>),
@ -203,9 +209,11 @@ pub enum WebGLFramebufferBindingRequest {
}
#[derive(Clone, Deserialize, Serialize)]
pub enum WebGLShaderParameter {
pub enum WebGLParameter {
Int(i32),
Bool(bool),
String(String),
Float(f32),
Invalid,
}