ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libgender/shader.h
(Generate patch)

Comparing libgender/shader.h (file contents):
Revision 1.3 by root, Sat Oct 23 21:53:06 2004 UTC vs.
Revision 1.4 by root, Sat Oct 23 21:55:13 2004 UTC

297 297
298 struct stream_i : var_i 298 struct stream_i : var_i
299 { 299 {
300 void build (shader_builder &b); 300 void build (shader_builder &b);
301 void build_decl (ostringstream &b); 301 void build_decl (ostringstream &b);
302 stream_i (const char *strtype) : var_i (strtype) { } 302 stream_i (const char *strtype);
303 }; 303 };
304 304
305 template<int dimension, GLenum gltype, const char *strtype> 305 template<int dimension, GLenum gltype, const char *strtype>
306 struct varying_i : stream_i 306 struct varying_i : stream_i
307 { 307 {
308 varying_i (const char *glname) 308 varying_i () : stream_i (strtype) { }
309 : stream_i (strtype)
310 {
311 strcpy (name, glname);
312 }
313 309
314 void set (GLsizei stride, GLvoid *ptr) 310 void set (GLsizei stride, GLvoid *ptr)
315 { 311 {
316 //cgGLSetParameterPointer (param, dimension, gltype, stride, ptr); 312 //cgGLSetParameterPointer (param, dimension, gltype, stride, ptr);
317 } 313 }
318 }; 314 };
319 315
320 template<int dimension, const char *strtype> 316 template<int dimension, const char *strtype>
321 struct varying_f_i : varying_i<dimension, GL_FLOAT, strtype> 317 struct varying_f_i : varying_i<dimension, GL_FLOAT, strtype>
322 { 318 {
323 varying_f_i (const char *glname) : varying_i<dimension, GL_FLOAT, strtype> (glname) { }
324
325 void set (const gl::vertex_buffer_object &vb, GLint offset) 319 void set (const gl::vertex_buffer_object &vb, GLint offset)
326 { 320 {
327 varying_i<dimension, GL_FLOAT, strtype>::set (gl::format_stride (vb.format), (GLvoid *)(long)offset); 321 varying_i<dimension, GL_FLOAT, strtype>::set (gl::format_stride (vb.format), (GLvoid *)(long)offset);
328 } 322 }
329 }; 323 };
330 324
331 struct varying_1f_i : varying_f_i<1, str_float> 325 struct varying_1f_i : varying_f_i<1, str_float>
332 { 326 {
333 varying_1f_i (const char *glname) : varying_f_i<1, str_float> (glname) { }
334 }; 327 };
335 328
336 struct varying_2f_i : varying_f_i<2, str_vec2> 329 struct varying_2f_i : varying_f_i<2, str_vec2>
337 { 330 {
338 varying_2f_i (const char *glname) : varying_f_i<2, str_vec2> (glname) { }
339
340 void set_t (const gl::vertex_buffer_object &vb) 331 void set_t (const gl::vertex_buffer_object &vb)
341 { 332 {
342 set (vb, gl::format_offset_t (vb.format)); 333 set (vb, gl::format_offset_t (vb.format));
343 } 334 }
344 }; 335 };
345 336
346 struct varying_3f_i : varying_f_i<3, str_vec3> 337 struct varying_3f_i : varying_f_i<3, str_vec3>
347 { 338 {
348 varying_3f_i (const char *glname) : varying_f_i<3, str_vec3> (glname) { }
349
350 void set_p (const gl::vertex_buffer_object &vb) 339 void set_p (const gl::vertex_buffer_object &vb)
351 { 340 {
352 set (vb, gl::format_offset_p (vb.format)); 341 set (vb, gl::format_offset_p (vb.format));
353 } 342 }
354 343
358 } 347 }
359 }; 348 };
360 349
361 struct varying_4f_i : varying_f_i<4, str_vec4> 350 struct varying_4f_i : varying_f_i<4, str_vec4>
362 { 351 {
363 varying_4f_i (const char *glname) : varying_f_i<4, str_vec4> (glname) { }
364 }; 352 };
365 353
366 typedef var_ref<varying_1f_i> varying_1f; 354 typedef var_ref<varying_1f_i> varying_1f;
367 typedef var_ref<varying_2f_i> varying_2f; 355 typedef var_ref<varying_2f_i> varying_2f;
368 typedef var_ref<varying_3f_i> varying_3f; 356 typedef var_ref<varying_3f_i> varying_3f;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines