diff options
Diffstat (limited to 'progs/demos/arbfslight.c')
-rw-r--r-- | progs/demos/arbfslight.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/progs/demos/arbfslight.c b/progs/demos/arbfslight.c index 69575f06236..a84491d34fe 100644 --- a/progs/demos/arbfslight.c +++ b/progs/demos/arbfslight.c @@ -208,7 +208,31 @@ static void Init (void) " // Compute dot product of light direction and normal vector\n" " float dotProd = max (dot (lightPos, normalize (normal)), 0.0);\n" " // Compute diffuse and specular contributions\n" +#if 1 " gl_FragColor = diffuse * dotProd + specular * pow (dotProd, 20.0);\n" +#elif 1 /* test IF/ELSE/ENDIF */ + " if (normal.y > 0.0) { \n" + " gl_FragColor = diffuse * dotProd + specular * pow (dotProd, 20.0);\n" + " } \n" + " else { \n" + " if (normal.x < 0.0) { \n" + " gl_FragColor = vec4(1, 0, 0, 0); \n" + " } \n" + " else { \n" + " gl_FragColor = vec4(1, 1, 0, 0); \n" + " } \n" + " } \n" +#elif 1 /* test LOOP */ + " while (1) { \n" + " if (normal.y >= 0.0) { \n" + " gl_FragColor = vec4(1, 0, 0, 0); \n" + " break; \n" + " } else { \n" + " gl_FragColor = diffuse * dotProd + specular * pow (dotProd, 20.0);\n" + " break; \n" + " } \n" + " } \n" +#endif "}\n" ; static const char *vertShaderText = |