progs/demos: Update ignore
[mesa.git] / progs / demos / arbfslight.c
index 374de568872b2a4294c7abf3c28b8db2e8c36e97..275c85105ede20ba13bd7d7744dd434f964314bc 100644 (file)
@@ -62,7 +62,7 @@ static PFNGLUNIFORM3FVARBPROC glUniform4fvARB = NULL;
 
 static void normalize (GLfloat *dst, const GLfloat *src)
 {
-   GLfloat len = sqrtf (src[0] * src[0] + src[1] * src[1] + src[2] * src[2]);
+   GLfloat len = sqrt (src[0] * src[0] + src[1] * src[1] + src[2] * src[2]);
    dst[0] = src[0] / len;
    dst[1] = src[1] / len;
    dst[2] = src[2] / len;
@@ -105,6 +105,7 @@ static void Redisplay (void)
                        GLfloat seconds = (GLfloat) (t - t0) / 1000.0f;
                        GLfloat fps = frames / seconds;
                        printf ("%d frames in %6.3f seconds = %6.3f FPS\n", frames, seconds, fps);
+                        fflush(stdout);
                        t0 = t;
                        frames = 0;
                }
@@ -208,7 +209,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 =