demos: move glslnoise.c demo to glsl/noise2.c
authorBrian Paul <brianp@vmware.com>
Sat, 18 Apr 2009 18:54:27 +0000 (12:54 -0600)
committerBrian Paul <brianp@vmware.com>
Sat, 18 Apr 2009 18:54:27 +0000 (12:54 -0600)
progs/demos/Makefile
progs/demos/glslnoise.c [deleted file]
progs/glsl/Makefile
progs/glsl/noise2.c [new file with mode: 0644]

index 32c607212321af94b57c8096b4b54ace495be498..43bf09c0af3ea6557e078ee93f1375896fba20d6 100644 (file)
@@ -32,7 +32,6 @@ PROGS = \
        geartrain \
        glinfo \
        gloss \
-       glslnoise \
        gltestperf \
        glutfx \
        isosurf \
diff --git a/progs/demos/glslnoise.c b/progs/demos/glslnoise.c
deleted file mode 100644 (file)
index e972b62..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * GLSL noise demo.
- *
- * Michal Krol
- * 20 February 2006
- *
- * Based on the original demo by:
- * Stefan Gustavson (stegu@itn.liu.se) 2004, 2005
- */
-
-#ifdef WIN32
-#include <windows.h>
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <GL/gl.h>
-#include <GL/glut.h>
-#include <GL/glext.h>
-
-#ifdef WIN32
-#define GETPROCADDRESS(F) wglGetProcAddress(F)
-#else
-#define GETPROCADDRESS(F) glutGetProcAddress(F)
-#endif
-
-static GLhandleARB fragShader;
-static GLhandleARB vertShader;
-static GLhandleARB program;
-
-static GLint uTime;
-
-static GLint t0 = 0;
-static GLint frames = 0;
-
-static GLfloat u_time = 0.0f;
-
-static PFNGLCREATESHADEROBJECTARBPROC glCreateShaderObjectARB = NULL;
-static PFNGLSHADERSOURCEARBPROC glShaderSourceARB = NULL;
-static PFNGLCOMPILESHADERARBPROC glCompileShaderARB = NULL;
-static PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgramObjectARB = NULL;
-static PFNGLATTACHOBJECTARBPROC glAttachObjectARB = NULL;
-static PFNGLLINKPROGRAMARBPROC glLinkProgramARB = NULL;
-static PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB = NULL;
-static PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocationARB = NULL;
-static PFNGLUNIFORM1FARBPROC glUniform1fARB = NULL;
-
-static void Redisplay (void)
-{
-   GLint t;
-
-       glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
-       glUniform1fARB (uTime, 0.5f * u_time);
-
-       glPushMatrix ();
-       glutSolidSphere (2.0, 20, 10);
-       glPopMatrix ();
-
-       glutSwapBuffers();
-   frames++;
-
-   t = glutGet (GLUT_ELAPSED_TIME);
-   if (t - t0 >= 5000) {
-      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;
-   }
-}
-
-static void Idle (void)
-{
-       u_time += 0.1f;
-       glutPostRedisplay ();
-}
-
-static void Reshape (int width, int height)
-{
-       glViewport (0, 0, width, height);
-       glMatrixMode (GL_PROJECTION);
-       glLoadIdentity ();
-       glFrustum (-1.0, 1.0, -1.0, 1.0, 5.0, 25.0);
-       glMatrixMode (GL_MODELVIEW);
-       glLoadIdentity ();
-       glTranslatef (0.0f, 0.0f, -15.0f);
-}
-
-static void Key (unsigned char key, int x, int y)
-{
-       (void) x;
-       (void) y;
-
-       switch (key)
-       {
-       case 27:
-               exit(0);
-               break;
-       }
-       glutPostRedisplay ();
-}
-
-static void Init (void)
-{
-   static const char *fragShaderText =
-      "uniform float time;\n"
-      "varying vec3 position;\n"
-      "void main () {\n"
-      "   gl_FragColor = vec4 (vec3 (0.5 + 0.5 * noise1 (vec4 (position, time))), 1.0);\n"
-      "}\n"
-   ;
-   static const char *vertShaderText =
-      "varying vec3 position;\n"
-      "void main () {\n"
-      "   gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;\n"
-      "   position = 4.0 * gl_Vertex.xyz;\n"
-      "}\n"
-   ;
-
-       if (!glutExtensionSupported ("GL_ARB_fragment_shader"))
-       {
-               printf ("Sorry, this demo requires GL_ARB_fragment_shader\n");
-               exit(1);
-       }
-       if (!glutExtensionSupported ("GL_ARB_shader_objects"))
-       {
-               printf ("Sorry, this demo requires GL_ARB_shader_objects\n");
-               exit(1);
-       }
-       if (!glutExtensionSupported ("GL_ARB_shading_language_100"))
-       {
-               printf ("Sorry, this demo requires GL_ARB_shading_language_100\n");
-               exit(1);
-       }
-       if (!glutExtensionSupported ("GL_ARB_vertex_shader"))
-       {
-               printf ("Sorry, this demo requires GL_ARB_vertex_shader\n");
-               exit(1);
-       }
-
-       glCreateShaderObjectARB = (PFNGLCREATESHADEROBJECTARBPROC)
-               GETPROCADDRESS("glCreateShaderObjectARB");
-       glShaderSourceARB = (PFNGLSHADERSOURCEARBPROC)
-               GETPROCADDRESS("glShaderSourceARB");
-       glCompileShaderARB = (PFNGLCOMPILESHADERARBPROC)
-               GETPROCADDRESS("glCompileShaderARB");
-       glCreateProgramObjectARB = (PFNGLCREATEPROGRAMOBJECTARBPROC)
-               GETPROCADDRESS("glCreateProgramObjectARB");
-       glAttachObjectARB = (PFNGLATTACHOBJECTARBPROC)
-               GETPROCADDRESS("glAttachObjectARB");
-       glLinkProgramARB = (PFNGLLINKPROGRAMARBPROC)
-               GETPROCADDRESS ("glLinkProgramARB");
-       glUseProgramObjectARB = (PFNGLUSEPROGRAMOBJECTARBPROC)
-               GETPROCADDRESS("glUseProgramObjectARB");          
-
-       glGetUniformLocationARB = (PFNGLGETUNIFORMLOCATIONARBPROC)
-               GETPROCADDRESS("glGetUniformLocationARB");
-       glUniform1fARB = (PFNGLUNIFORM1FARBPROC)
-               GETPROCADDRESS("glUniform1fARB");
-
-       fragShader = glCreateShaderObjectARB (GL_FRAGMENT_SHADER_ARB);
-       glShaderSourceARB (fragShader, 1, &fragShaderText, NULL);
-       glCompileShaderARB (fragShader);
-
-       vertShader = glCreateShaderObjectARB (GL_VERTEX_SHADER_ARB);
-       glShaderSourceARB (vertShader, 1, &vertShaderText, NULL);
-       glCompileShaderARB (vertShader);
-
-       program = glCreateProgramObjectARB ();
-       glAttachObjectARB (program, fragShader);
-       glAttachObjectARB (program, vertShader);
-       glLinkProgramARB (program);
-       glUseProgramObjectARB (program);
-
-       uTime = glGetUniformLocationARB (program, "time");
-
-       glClearColor (0.0f, 0.1f, 0.3f, 1.0f);
-       glEnable (GL_CULL_FACE);
-       glEnable (GL_DEPTH_TEST);
-
-       printf ("GL_RENDERER = %s\n", (const char *) glGetString (GL_RENDERER));
-}
-
-int main (int argc, char *argv[])
-{
-       glutInit (&argc, argv);
-       glutInitWindowPosition ( 0, 0);
-       glutInitWindowSize (200, 200);
-       glutInitDisplayMode (GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
-       glutCreateWindow (argv[0]);
-       glutReshapeFunc (Reshape);
-       glutKeyboardFunc (Key);
-       glutDisplayFunc (Redisplay);
-       glutIdleFunc (Idle);
-       Init ();
-       glutMainLoop ();
-       return 0;
-}
-
index 5fb95c4b3bcd280427444e7ca6191ac998764ab7..8e61ab690b4a25793dfe2ee10c9f4c4fc458c773 100644 (file)
@@ -23,6 +23,7 @@ PROGS = \
        multinoise \
        multitex \
        noise \
+       noise2 \
        points \
        pointcoord \
        samplers \
@@ -163,6 +164,13 @@ noise: noise.o shaderutil.o
        $(APP_CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) noise.o shaderutil.o $(LIBS) -o $@
 
 
+noise2.o: noise2.c extfuncs.h shaderutil.h
+       $(APP_CC) -c -I$(INCDIR) $(CFLAGS) noise2.c
+
+noise2: noise2.o shaderutil.o
+       $(APP_CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) noise2.o shaderutil.o $(LIBS) -o $@
+
+
 points.o: points.c extfuncs.h shaderutil.h
        $(APP_CC) -c -I$(INCDIR) $(CFLAGS) points.c
 
diff --git a/progs/glsl/noise2.c b/progs/glsl/noise2.c
new file mode 100644 (file)
index 0000000..e972b62
--- /dev/null
@@ -0,0 +1,201 @@
+/*
+ * GLSL noise demo.
+ *
+ * Michal Krol
+ * 20 February 2006
+ *
+ * Based on the original demo by:
+ * Stefan Gustavson (stegu@itn.liu.se) 2004, 2005
+ */
+
+#ifdef WIN32
+#include <windows.h>
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <GL/gl.h>
+#include <GL/glut.h>
+#include <GL/glext.h>
+
+#ifdef WIN32
+#define GETPROCADDRESS(F) wglGetProcAddress(F)
+#else
+#define GETPROCADDRESS(F) glutGetProcAddress(F)
+#endif
+
+static GLhandleARB fragShader;
+static GLhandleARB vertShader;
+static GLhandleARB program;
+
+static GLint uTime;
+
+static GLint t0 = 0;
+static GLint frames = 0;
+
+static GLfloat u_time = 0.0f;
+
+static PFNGLCREATESHADEROBJECTARBPROC glCreateShaderObjectARB = NULL;
+static PFNGLSHADERSOURCEARBPROC glShaderSourceARB = NULL;
+static PFNGLCOMPILESHADERARBPROC glCompileShaderARB = NULL;
+static PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgramObjectARB = NULL;
+static PFNGLATTACHOBJECTARBPROC glAttachObjectARB = NULL;
+static PFNGLLINKPROGRAMARBPROC glLinkProgramARB = NULL;
+static PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB = NULL;
+static PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocationARB = NULL;
+static PFNGLUNIFORM1FARBPROC glUniform1fARB = NULL;
+
+static void Redisplay (void)
+{
+   GLint t;
+
+       glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+
+       glUniform1fARB (uTime, 0.5f * u_time);
+
+       glPushMatrix ();
+       glutSolidSphere (2.0, 20, 10);
+       glPopMatrix ();
+
+       glutSwapBuffers();
+   frames++;
+
+   t = glutGet (GLUT_ELAPSED_TIME);
+   if (t - t0 >= 5000) {
+      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;
+   }
+}
+
+static void Idle (void)
+{
+       u_time += 0.1f;
+       glutPostRedisplay ();
+}
+
+static void Reshape (int width, int height)
+{
+       glViewport (0, 0, width, height);
+       glMatrixMode (GL_PROJECTION);
+       glLoadIdentity ();
+       glFrustum (-1.0, 1.0, -1.0, 1.0, 5.0, 25.0);
+       glMatrixMode (GL_MODELVIEW);
+       glLoadIdentity ();
+       glTranslatef (0.0f, 0.0f, -15.0f);
+}
+
+static void Key (unsigned char key, int x, int y)
+{
+       (void) x;
+       (void) y;
+
+       switch (key)
+       {
+       case 27:
+               exit(0);
+               break;
+       }
+       glutPostRedisplay ();
+}
+
+static void Init (void)
+{
+   static const char *fragShaderText =
+      "uniform float time;\n"
+      "varying vec3 position;\n"
+      "void main () {\n"
+      "   gl_FragColor = vec4 (vec3 (0.5 + 0.5 * noise1 (vec4 (position, time))), 1.0);\n"
+      "}\n"
+   ;
+   static const char *vertShaderText =
+      "varying vec3 position;\n"
+      "void main () {\n"
+      "   gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;\n"
+      "   position = 4.0 * gl_Vertex.xyz;\n"
+      "}\n"
+   ;
+
+       if (!glutExtensionSupported ("GL_ARB_fragment_shader"))
+       {
+               printf ("Sorry, this demo requires GL_ARB_fragment_shader\n");
+               exit(1);
+       }
+       if (!glutExtensionSupported ("GL_ARB_shader_objects"))
+       {
+               printf ("Sorry, this demo requires GL_ARB_shader_objects\n");
+               exit(1);
+       }
+       if (!glutExtensionSupported ("GL_ARB_shading_language_100"))
+       {
+               printf ("Sorry, this demo requires GL_ARB_shading_language_100\n");
+               exit(1);
+       }
+       if (!glutExtensionSupported ("GL_ARB_vertex_shader"))
+       {
+               printf ("Sorry, this demo requires GL_ARB_vertex_shader\n");
+               exit(1);
+       }
+
+       glCreateShaderObjectARB = (PFNGLCREATESHADEROBJECTARBPROC)
+               GETPROCADDRESS("glCreateShaderObjectARB");
+       glShaderSourceARB = (PFNGLSHADERSOURCEARBPROC)
+               GETPROCADDRESS("glShaderSourceARB");
+       glCompileShaderARB = (PFNGLCOMPILESHADERARBPROC)
+               GETPROCADDRESS("glCompileShaderARB");
+       glCreateProgramObjectARB = (PFNGLCREATEPROGRAMOBJECTARBPROC)
+               GETPROCADDRESS("glCreateProgramObjectARB");
+       glAttachObjectARB = (PFNGLATTACHOBJECTARBPROC)
+               GETPROCADDRESS("glAttachObjectARB");
+       glLinkProgramARB = (PFNGLLINKPROGRAMARBPROC)
+               GETPROCADDRESS ("glLinkProgramARB");
+       glUseProgramObjectARB = (PFNGLUSEPROGRAMOBJECTARBPROC)
+               GETPROCADDRESS("glUseProgramObjectARB");          
+
+       glGetUniformLocationARB = (PFNGLGETUNIFORMLOCATIONARBPROC)
+               GETPROCADDRESS("glGetUniformLocationARB");
+       glUniform1fARB = (PFNGLUNIFORM1FARBPROC)
+               GETPROCADDRESS("glUniform1fARB");
+
+       fragShader = glCreateShaderObjectARB (GL_FRAGMENT_SHADER_ARB);
+       glShaderSourceARB (fragShader, 1, &fragShaderText, NULL);
+       glCompileShaderARB (fragShader);
+
+       vertShader = glCreateShaderObjectARB (GL_VERTEX_SHADER_ARB);
+       glShaderSourceARB (vertShader, 1, &vertShaderText, NULL);
+       glCompileShaderARB (vertShader);
+
+       program = glCreateProgramObjectARB ();
+       glAttachObjectARB (program, fragShader);
+       glAttachObjectARB (program, vertShader);
+       glLinkProgramARB (program);
+       glUseProgramObjectARB (program);
+
+       uTime = glGetUniformLocationARB (program, "time");
+
+       glClearColor (0.0f, 0.1f, 0.3f, 1.0f);
+       glEnable (GL_CULL_FACE);
+       glEnable (GL_DEPTH_TEST);
+
+       printf ("GL_RENDERER = %s\n", (const char *) glGetString (GL_RENDERER));
+}
+
+int main (int argc, char *argv[])
+{
+       glutInit (&argc, argv);
+       glutInitWindowPosition ( 0, 0);
+       glutInitWindowSize (200, 200);
+       glutInitDisplayMode (GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
+       glutCreateWindow (argv[0]);
+       glutReshapeFunc (Reshape);
+       glutKeyboardFunc (Key);
+       glutDisplayFunc (Redisplay);
+       glutIdleFunc (Idle);
+       Init ();
+       glutMainLoop ();
+       return 0;
+}
+