Skip to content

Commit c857a93

Browse files
authored
Merge pull request #1336 from ibaryshnikov/issue-1322-simplify-webgl-example
Simplified webgl example
2 parents 8db85dd + daad58f commit c857a93

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

examples/webgl/src/lib.rs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ pub fn start() -> Result<(), JsValue> {
3333
}
3434
"#,
3535
)?;
36-
let program = link_program(&context, [vert_shader, frag_shader].iter())?;
36+
let program = link_program(&context, &vert_shader, &frag_shader)?;
3737
context.use_program(Some(&program));
3838

3939
let vertices: [f32; 9] = [-0.7, -0.7, 0.0, 0.7, -0.7, 0.0, 0.0, 0.7, 0.0];
@@ -85,20 +85,21 @@ pub fn compile_shader(
8585
} else {
8686
Err(context
8787
.get_shader_info_log(&shader)
88-
.unwrap_or_else(|| "Unknown error creating shader".into()))
88+
.unwrap_or_else(|| String::from("Unknown error creating shader")))
8989
}
9090
}
9191

92-
pub fn link_program<'a, T: IntoIterator<Item = &'a WebGlShader>>(
92+
pub fn link_program(
9393
context: &WebGlRenderingContext,
94-
shaders: T,
94+
vert_shader: &WebGlShader,
95+
frag_shader: &WebGlShader,
9596
) -> Result<WebGlProgram, String> {
9697
let program = context
9798
.create_program()
9899
.ok_or_else(|| String::from("Unable to create shader object"))?;
99-
for shader in shaders {
100-
context.attach_shader(&program, shader)
101-
}
100+
101+
context.attach_shader(&program, vert_shader);
102+
context.attach_shader(&program, frag_shader);
102103
context.link_program(&program);
103104

104105
if context
@@ -110,6 +111,6 @@ pub fn link_program<'a, T: IntoIterator<Item = &'a WebGlShader>>(
110111
} else {
111112
Err(context
112113
.get_program_info_log(&program)
113-
.unwrap_or_else(|| "Unknown error creating program object".into()))
114+
.unwrap_or_else(|| String::from("Unknown error creating program object")))
114115
}
115116
}

0 commit comments

Comments
 (0)