@@ -33,7 +33,7 @@ pub fn start() -> Result<(), JsValue> {
33
33
}
34
34
"# ,
35
35
) ?;
36
- let program = link_program ( & context, [ vert_shader, frag_shader] . iter ( ) ) ?;
36
+ let program = link_program ( & context, & vert_shader, & frag_shader) ?;
37
37
context. use_program ( Some ( & program) ) ;
38
38
39
39
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(
85
85
} else {
86
86
Err ( context
87
87
. get_shader_info_log ( & shader)
88
- . unwrap_or_else ( || "Unknown error creating shader" . into ( ) ) )
88
+ . unwrap_or_else ( || String :: from ( "Unknown error creating shader" ) ) )
89
89
}
90
90
}
91
91
92
- pub fn link_program < ' a , T : IntoIterator < Item = & ' a WebGlShader > > (
92
+ pub fn link_program (
93
93
context : & WebGlRenderingContext ,
94
- shaders : T ,
94
+ vert_shader : & WebGlShader ,
95
+ frag_shader : & WebGlShader ,
95
96
) -> Result < WebGlProgram , String > {
96
97
let program = context
97
98
. create_program ( )
98
99
. 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 ) ;
102
103
context. link_program ( & program) ;
103
104
104
105
if context
@@ -110,6 +111,6 @@ pub fn link_program<'a, T: IntoIterator<Item = &'a WebGlShader>>(
110
111
} else {
111
112
Err ( context
112
113
. 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" ) ) )
114
115
}
115
116
}
0 commit comments