diff --git a/examples/webgl/src/lib.rs b/examples/webgl/src/lib.rs index f0ced9f0..3328759e 100644 --- a/examples/webgl/src/lib.rs +++ b/examples/webgl/src/lib.rs @@ -33,7 +33,7 @@ pub fn start() -> Result<(), JsValue> { } "#, )?; - let program = link_program(&context, [vert_shader, frag_shader].iter())?; + let program = link_program(&context, &vert_shader, &frag_shader)?; context.use_program(Some(&program)); 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( } else { Err(context .get_shader_info_log(&shader) - .unwrap_or_else(|| "Unknown error creating shader".into())) + .unwrap_or_else(|| String::from("Unknown error creating shader"))) } } -pub fn link_program<'a, T: IntoIterator<Item = &'a WebGlShader>>( +pub fn link_program( context: &WebGlRenderingContext, - shaders: T, + vert_shader: &WebGlShader, + frag_shader: &WebGlShader, ) -> Result<WebGlProgram, String> { let program = context .create_program() .ok_or_else(|| String::from("Unable to create shader object"))?; - for shader in shaders { - context.attach_shader(&program, shader) - } + + context.attach_shader(&program, vert_shader); + context.attach_shader(&program, frag_shader); context.link_program(&program); if context @@ -110,6 +111,6 @@ pub fn link_program<'a, T: IntoIterator<Item = &'a WebGlShader>>( } else { Err(context .get_program_info_log(&program) - .unwrap_or_else(|| "Unknown error creating program object".into())) + .unwrap_or_else(|| String::from("Unknown error creating program object"))) } }