diff options
author | Eric Anholt <[email protected]> | 2010-05-21 09:32:38 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2010-05-21 12:20:39 -0700 |
commit | 68fc4b415e322f6744299e39864fbc377c6eff74 (patch) | |
tree | 4bafffd8b0105174f3c5c0ae327a005be9145990 /progs/vpglsl | |
parent | e4f4489e3fc0b36d72821b55794fb843b2b7fa5f (diff) |
Remove demos that have moved to git+ssh://git.freedesktop.org/git/mesa/demos.
The remaining programs are ones I've had difficulty finding a build
environment for to make the build system or are unit tests that should
probably live next to their code instead. Hopefully people can bring
over the build for remaining pieces they care about.
Diffstat (limited to 'progs/vpglsl')
-rw-r--r-- | progs/vpglsl/.gitignore | 1 | ||||
-rw-r--r-- | progs/vpglsl/Makefile | 52 | ||||
-rw-r--r-- | progs/vpglsl/SConscript | 6 | ||||
-rw-r--r-- | progs/vpglsl/for.glsl | 7 | ||||
-rw-r--r-- | progs/vpglsl/func.glsl | 33 | ||||
-rw-r--r-- | progs/vpglsl/func2.glsl | 54 | ||||
-rw-r--r-- | progs/vpglsl/if.glsl | 7 | ||||
-rw-r--r-- | progs/vpglsl/ifelse.glsl | 8 | ||||
-rw-r--r-- | progs/vpglsl/mov.glsl | 5 | ||||
-rw-r--r-- | progs/vpglsl/nestedifs.glsl | 13 | ||||
-rw-r--r-- | progs/vpglsl/nestedswizzle.glsl | 9 | ||||
-rw-r--r-- | progs/vpglsl/off2f.glsl | 18 | ||||
-rw-r--r-- | progs/vpglsl/psiz-imm.glsl | 6 | ||||
-rw-r--r-- | progs/vpglsl/psiz-mul.glsl | 6 | ||||
-rw-r--r-- | progs/vpglsl/varfor1f.glsl | 22 | ||||
-rw-r--r-- | progs/vpglsl/varfor2f.glsl | 24 | ||||
-rw-r--r-- | progs/vpglsl/varfor4f.glsl | 19 | ||||
-rw-r--r-- | progs/vpglsl/vp-tris.c | 363 |
18 files changed, 0 insertions, 653 deletions
diff --git a/progs/vpglsl/.gitignore b/progs/vpglsl/.gitignore deleted file mode 100644 index a5ff9935254..00000000000 --- a/progs/vpglsl/.gitignore +++ /dev/null @@ -1 +0,0 @@ -vp-tris diff --git a/progs/vpglsl/Makefile b/progs/vpglsl/Makefile deleted file mode 100644 index 3982aca5650..00000000000 --- a/progs/vpglsl/Makefile +++ /dev/null @@ -1,52 +0,0 @@ -# progs/tests/Makefile - - -# These programs aren't intended to be included with the normal distro. -# They're not too interesting but they're good for testing. - -TOP = ../.. -include $(TOP)/configs/current - -LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLEW_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS) - -SOURCES = \ - vp-tris.c - - - -PROGS = $(SOURCES:%.c=%) - -INCLUDES = -I. -I$(TOP)/include -I../samples - - -##### RULES ##### - -.SUFFIXES: -.SUFFIXES: .c - -.c: - $(CC) $(INCLUDES) $(CFLAGS) $< $(LIBS) -o $@ - -.c.o: - $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@ - -.S.o: - $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@ - - -##### TARGETS ##### - -default: $(PROGS) - -clean: - rm -f $(PROGS) - rm -f *.o - rm -f getproclist.h - - - - - -# Emacs tags -tags: - etags `find . -name \*.[ch]` `find ../include` diff --git a/progs/vpglsl/SConscript b/progs/vpglsl/SConscript deleted file mode 100644 index 787cb793af2..00000000000 --- a/progs/vpglsl/SConscript +++ /dev/null @@ -1,6 +0,0 @@ -Import('*') - -progs_env.Program( - target = 'vp-tris', - source = ['vp-tris.c'], - ) diff --git a/progs/vpglsl/for.glsl b/progs/vpglsl/for.glsl deleted file mode 100644 index 45d6845dacc..00000000000 --- a/progs/vpglsl/for.glsl +++ /dev/null @@ -1,7 +0,0 @@ - -void main() { - gl_Position = gl_Vertex; - gl_FrontColor = vec4(0); - for (int i = 0; i < 4; ++i) - gl_FrontColor += gl_Color; -} diff --git a/progs/vpglsl/func.glsl b/progs/vpglsl/func.glsl deleted file mode 100644 index 05539880fd8..00000000000 --- a/progs/vpglsl/func.glsl +++ /dev/null @@ -1,33 +0,0 @@ -#version 120 -const int KernelSize = 16; -uniform float KernelValue1f[KernelSize]; - - -float add_two(float a, float b) -{ - if (a > b) - return a - b; - else - return a + b; -} - -vec4 func(vec4 x) -{ - int i; - vec4 tmp = gl_Color; - vec4 sum = x; - - for (i = 0; i < KernelSize; ++i) { - sum = vec4( add_two(sum.x, KernelValue1f[i]) ); - } - return sum; -} - -void main(void) -{ - vec4 sum = vec4(0.0); - - sum = func(sum); - gl_Position = gl_Vertex; - gl_FrontColor = sum; -} diff --git a/progs/vpglsl/func2.glsl b/progs/vpglsl/func2.glsl deleted file mode 100644 index df964ed6f02..00000000000 --- a/progs/vpglsl/func2.glsl +++ /dev/null @@ -1,54 +0,0 @@ -#version 120 -const int KernelSize = 16; -uniform float KernelValue1f[KernelSize]; - - -float add_two(float a, float b) -{ - if (a > b) - return a - b; - else - return a + b; -} - -vec4 myfunc(vec4 x, vec4 mult, vec4 c) -{ - if (x.x >= 0.5) { - return mult * c; - } else { - return mult + c; - } -} - -vec4 func2(vec4 x) -{ - int i; - vec4 color = vec4(0); - for (i = 0; i < KernelSize; ++i) { - vec4 tmp = vec4(1./KernelSize); - color += myfunc(x, tmp, gl_Color); - } - return x * color; -} - -vec4 func(vec4 x) -{ - int i; - vec4 tmp = gl_Color; - vec4 sum = x; - - for (i = 0; i < KernelSize; ++i) { - sum = vec4( add_two(sum.x, KernelValue1f[i]) ); - } - sum = func2(sum); - return sum; -} - -void main(void) -{ - vec4 sum = vec4(0.0); - - sum = func(sum); - gl_Position = gl_Vertex; - gl_FrontColor = sum; -} diff --git a/progs/vpglsl/if.glsl b/progs/vpglsl/if.glsl deleted file mode 100644 index 174f69c19c9..00000000000 --- a/progs/vpglsl/if.glsl +++ /dev/null @@ -1,7 +0,0 @@ - -void main() { - gl_FrontColor = gl_Color; - gl_Position = gl_Vertex; - if (gl_Position.x < 0.5) - gl_FrontColor = vec4(1.0, 0.0, 0.0, 1.0); -} diff --git a/progs/vpglsl/ifelse.glsl b/progs/vpglsl/ifelse.glsl deleted file mode 100644 index 645b2117a17..00000000000 --- a/progs/vpglsl/ifelse.glsl +++ /dev/null @@ -1,8 +0,0 @@ - -void main() { - gl_Position = gl_Vertex; - if (gl_Position.x < 0.5) - gl_FrontColor = vec4(1.0, 0.0, 0.0, 1.0); - else - gl_FrontColor = gl_Color; -} diff --git a/progs/vpglsl/mov.glsl b/progs/vpglsl/mov.glsl deleted file mode 100644 index 63b16f4754b..00000000000 --- a/progs/vpglsl/mov.glsl +++ /dev/null @@ -1,5 +0,0 @@ - -void main() { - gl_FrontColor = gl_Color; - gl_Position = gl_Vertex; -} diff --git a/progs/vpglsl/nestedifs.glsl b/progs/vpglsl/nestedifs.glsl deleted file mode 100644 index abb235cd65b..00000000000 --- a/progs/vpglsl/nestedifs.glsl +++ /dev/null @@ -1,13 +0,0 @@ - -void main() { - gl_Position = gl_Vertex; - if (gl_Position.x < 0.5) { - if (gl_Position.y < 0.20) { - gl_FrontColor = vec4(1.0, 0.0, 0.0, 1.0); - } else { - gl_FrontColor = vec4(0.0, 1.0, 0.0, 1.0); - } - gl_FrontColor.y = 1.0; - } else - gl_FrontColor = gl_Color; -} diff --git a/progs/vpglsl/nestedswizzle.glsl b/progs/vpglsl/nestedswizzle.glsl deleted file mode 100644 index a3adb3dfeb2..00000000000 --- a/progs/vpglsl/nestedswizzle.glsl +++ /dev/null @@ -1,9 +0,0 @@ - -void main() { - gl_Position = gl_Vertex; - gl_FrontColor = gl_Color; - if (gl_Position.x < 0.5) { - gl_FrontColor.y = 1.0; - } - gl_FrontColor.xzw = vec3(0, 0, 1); -} diff --git a/progs/vpglsl/off2f.glsl b/progs/vpglsl/off2f.glsl deleted file mode 100644 index e06cb42a0ed..00000000000 --- a/progs/vpglsl/off2f.glsl +++ /dev/null @@ -1,18 +0,0 @@ -const int KernelSize = 8; -uniform vec2 Offset2f[KernelSize]; -uniform vec4 KernelValue4f[KernelSize]; - -void main(void) -{ - int i; - vec4 sum = vec4(0.0); - vec4 tmp = gl_Color; - vec2 rg, ba; - gl_Position = gl_Vertex; - - rg = Offset2f[4]; - ba = Offset2f[5]; - - - gl_FrontColor = KernelValue4f[0] * vec4(rg, ba); -} diff --git a/progs/vpglsl/psiz-imm.glsl b/progs/vpglsl/psiz-imm.glsl deleted file mode 100644 index 101d314d584..00000000000 --- a/progs/vpglsl/psiz-imm.glsl +++ /dev/null @@ -1,6 +0,0 @@ - -void main() { - gl_FrontColor = gl_Color; - gl_PointSize = 2.0; - gl_Position = gl_Vertex; -} diff --git a/progs/vpglsl/psiz-mul.glsl b/progs/vpglsl/psiz-mul.glsl deleted file mode 100644 index d2a90d8578e..00000000000 --- a/progs/vpglsl/psiz-mul.glsl +++ /dev/null @@ -1,6 +0,0 @@ - -void main() { - gl_FrontColor = gl_Color; - gl_PointSize = 10.0 * gl_Color.x; - gl_Position = gl_Vertex; -} diff --git a/progs/vpglsl/varfor1f.glsl b/progs/vpglsl/varfor1f.glsl deleted file mode 100644 index 9c3e8f2a238..00000000000 --- a/progs/vpglsl/varfor1f.glsl +++ /dev/null @@ -1,22 +0,0 @@ -const int KernelSize = 16; -uniform float KernelValue1f[KernelSize]; - -void main(void) -{ - int i; - vec4 sum = vec4(0.0); - vec4 tmp = gl_Color; - gl_Position = gl_Vertex; - - for (i = 0; i < KernelSize; ++i) { - float x, y, z, w; - - x = KernelValue1f[i]; ++i; - y = KernelValue1f[i]; ++i; - z = KernelValue1f[i]; ++i; - w = KernelValue1f[i]; - - sum += tmp * vec4(x, y, z, w); - } - gl_FrontColor = sum; -} diff --git a/progs/vpglsl/varfor2f.glsl b/progs/vpglsl/varfor2f.glsl deleted file mode 100644 index d98a1100458..00000000000 --- a/progs/vpglsl/varfor2f.glsl +++ /dev/null @@ -1,24 +0,0 @@ -const int KernelSize = 9; -uniform vec2 KernelValue2f[KernelSize]; - -void main(void) -{ - int i; - vec4 sum = vec4(0.0); - vec4 tmp = gl_Color; - gl_Position = gl_Vertex; - - for (i = 0; i < KernelSize; ++i) { - vec2 rg, ba; - - rg = KernelValue2f[i]; - ++i; - if (i < KernelSize) - ba = KernelValue2f[i]; - else - ba = vec2(0, 0); - - sum += tmp * vec4(rg, ba); - } - gl_FrontColor = sum; -} diff --git a/progs/vpglsl/varfor4f.glsl b/progs/vpglsl/varfor4f.glsl deleted file mode 100644 index c70ba0356fd..00000000000 --- a/progs/vpglsl/varfor4f.glsl +++ /dev/null @@ -1,19 +0,0 @@ -const int KernelSize = 4; -uniform vec4 KernelValue4f[KernelSize]; - -void main(void) -{ - int i; - vec4 sum = vec4(0.0); - vec4 tmp = gl_Color; - gl_Position = gl_Vertex; - - for (i = 0; i < KernelSize; ++i) { - vec4 rgba; - - rgba = KernelValue4f[i]; - - sum += tmp * rgba; - } - gl_FrontColor = sum; -} diff --git a/progs/vpglsl/vp-tris.c b/progs/vpglsl/vp-tris.c deleted file mode 100644 index 6a1fa3d3bf0..00000000000 --- a/progs/vpglsl/vp-tris.c +++ /dev/null @@ -1,363 +0,0 @@ - -#include <assert.h> -#include <string.h> -#include <stdio.h> -#include <stdlib.h> -#include <math.h> - -#include <GL/glew.h> -#include <GL/glut.h> - -static const char *filename = NULL; -static GLuint nr_steps = 4; -static GLuint prim = GL_TRIANGLES; -static GLfloat psz = 1.0; -static GLboolean pointsmooth = 0; -static GLboolean program_point_size = 0; - -static GLuint fragShader; -static GLuint vertShader; -static GLuint program; - -static void usage( char *name ) -{ - fprintf( stderr, "usage: %s [ options ] shader_filename\n", name ); - fprintf( stderr, "\n" ); - fprintf( stderr, "options:\n" ); - fprintf( stderr, " -f flat shaded\n" ); - fprintf( stderr, " -nNr subdivision steps\n" ); -} - - -static void load_and_compile_shader(GLuint shader, const char *text) -{ - GLint stat; - - glShaderSource(shader, 1, (const GLchar **) &text, NULL); - - glCompileShader(shader); - - glGetShaderiv(shader, GL_COMPILE_STATUS, &stat); - if (!stat) { - GLchar log[1000]; - GLsizei len; - glGetShaderInfoLog(shader, 1000, &len, log); - fprintf(stderr, "vp-tris: problem compiling shader:\n%s\n", log); - exit(1); - } -} - -static void read_shader(GLuint shader, const char *filename) -{ - const int max = 100*1000; - int n; - char *buffer = (char*) malloc(max); - FILE *f = fopen(filename, "r"); - if (!f) { - fprintf(stderr, "vp-tris: Unable to open shader file %s\n", filename); - exit(1); - } - - n = fread(buffer, 1, max, f); - printf("vp-tris: read %d bytes from shader file %s\n", n, filename); - if (n > 0) { - buffer[n] = 0; - load_and_compile_shader(shader, buffer); - } - - fclose(f); - free(buffer); -} - -static void check_link(GLuint prog) -{ - GLint stat; - glGetProgramiv(prog, GL_LINK_STATUS, &stat); - if (!stat) { - GLchar log[1000]; - GLsizei len; - glGetProgramInfoLog(prog, 1000, &len, log); - fprintf(stderr, "Linker error:\n%s\n", log); - } -} - -static void setup_uniforms() -{ - { - GLint loc1f = glGetUniformLocationARB(program, "Offset1f"); - GLint loc2f = glGetUniformLocationARB(program, "Offset2f"); - GLint loc4f = glGetUniformLocationARB(program, "Offset4f"); - GLfloat vecKer[] = - { 1.0, 0.0, 0.0, 1.0, - 0.0, 1.0, 0.0, 1.0, - 1.0, 0.0, 0.0, 1.0, - 0.0, 0.0, 0.0, 1.0 - }; - if (loc1f >= 0) - glUniform1fv(loc1f, 16, vecKer); - - if (loc2f >= 0) - glUniform2fv(loc2f, 8, vecKer); - - if (loc4f >= 0) - glUniform4fv(loc4f, 4, vecKer); - - } - - { - GLint loc1f = glGetUniformLocationARB(program, "KernelValue1f"); - GLint loc2f = glGetUniformLocationARB(program, "KernelValue2f"); - GLint loc4f = glGetUniformLocationARB(program, "KernelValue4f"); - GLfloat vecKer[] = - { 1.0, 0.0, 0.0, 0.25, - 0.0, 1.0, 0.0, 0.25, - 0.0, 0.0, 1.0, 0.25, - 0.0, 0.0, 0.0, 0.25, - 0.5, 0.0, 0.0, 0.35, - 0.0, 0.5, 0.0, 0.35, - 0.0, 0.0, 0.5, 0.35, - 0.0, 0.0, 0.0, 0.35 - }; - if (loc1f >= 0) - glUniform1fv(loc1f, 16, vecKer); - - if (loc2f >= 0) - glUniform2fv(loc2f, 8, vecKer); - - if (loc4f >= 0) - glUniform4fv(loc4f, 4, vecKer); - } -} - -static void prepare_shaders() -{ - static const char *fragShaderText = - "void main() {\n" - " gl_FragColor = gl_Color;\n" - "}\n"; - static const char *vertShaderText = - "void main() {\n" - " gl_FrontColor = gl_Color;\n" - " gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;\n" - "}\n"; - fragShader = glCreateShader(GL_FRAGMENT_SHADER); - load_and_compile_shader(fragShader, fragShaderText); - - - vertShader = glCreateShader(GL_VERTEX_SHADER); - if (filename) - read_shader(vertShader, filename); - else - load_and_compile_shader(vertShader, vertShaderText); - - program = glCreateProgram(); - glAttachShader(program, fragShader); - glAttachShader(program, vertShader); - glLinkProgram(program); - check_link(program); - glUseProgram(program); - - setup_uniforms(); -} - -static void args(int argc, char *argv[]) -{ - GLint i; - - for (i = 1; i < argc; i++) { - if (strncmp(argv[i], "-n", 2) == 0) { - nr_steps = atoi((argv[i]) + 2); - } - else if (strcmp(argv[i], "-f") == 0) { - glShadeModel(GL_FLAT); - } - else if (i == argc - 1) { - filename = argv[i]; - } - else { - usage(argv[0]); - exit(1); - } - } - - if (!filename) { - usage(argv[0]); - exit(1); - } -} - - - - -union vert { - struct { - GLfloat color[3]; - GLfloat pos[3]; - } v; - GLfloat f[6]; -}; - -static void make_midpoint( union vert *out, - const union vert *v0, - const union vert *v1) -{ - int i; - for (i = 0; i < 6; i++) - out->f[i] = v0->f[i] + .5 * (v1->f[i] - v0->f[i]); -} - -static void subdiv( union vert *v0, - union vert *v1, - union vert *v2, - GLuint depth ) -{ - if (depth == 0) { - glColor3fv(v0->v.color); - glVertex3fv(v0->v.pos); - glColor3fv(v1->v.color); - glVertex3fv(v1->v.pos); - glColor3fv(v2->v.color); - glVertex3fv(v2->v.pos); - } - else { - union vert m[3]; - - make_midpoint(&m[0], v0, v1); - make_midpoint(&m[1], v1, v2); - make_midpoint(&m[2], v2, v0); - - subdiv(&m[0], &m[2], v0, depth-1); - subdiv(&m[1], &m[0], v1, depth-1); - subdiv(&m[2], &m[1], v2, depth-1); - subdiv(&m[0], &m[1], &m[2], depth-1); - } -} - -static void enable( GLenum value, GLboolean flag ) -{ - if (flag) - glEnable(value); - else - glDisable(value); -} - -/** Assignment */ -#define ASSIGN_3V( V, V0, V1, V2 ) \ -do { \ - V[0] = V0; \ - V[1] = V1; \ - V[2] = V2; \ -} while(0) - -static void Display( void ) -{ - glClearColor(0.3, 0.3, 0.3, 1); - glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); - glPointSize(psz); - - glUseProgram(program); - enable( GL_POINT_SMOOTH, pointsmooth ); - enable( GL_VERTEX_PROGRAM_POINT_SIZE_ARB, program_point_size ); - - glBegin(prim); - - - { - union vert v[3]; - - ASSIGN_3V(v[0].v.color, 0,0,1); - ASSIGN_3V(v[0].v.pos, 0.9, -0.9, 0.0); - ASSIGN_3V(v[1].v.color, 1,0,0); - ASSIGN_3V(v[1].v.pos, 0.9, 0.9, 0.0); - ASSIGN_3V(v[2].v.color, 0,1,0); - ASSIGN_3V(v[2].v.pos, -0.9, 0, 0.0); - - subdiv(&v[0], &v[1], &v[2], nr_steps); - } - - glEnd(); - - - glFlush(); -} - - -static void Reshape( int width, int height ) -{ - glViewport( 0, 0, width, height ); - glMatrixMode( GL_PROJECTION ); - glLoadIdentity(); - glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); - glMatrixMode( GL_MODELVIEW ); - glLoadIdentity(); - /*glTranslatef( 0.0, 0.0, -15.0 );*/ -} - - -static void CleanUp(void) -{ - glDeleteShader(fragShader); - glDeleteShader(vertShader); - glDeleteProgram(program); -} - -static void Key( unsigned char key, int x, int y ) -{ - (void) x; - (void) y; - switch (key) { - case 'p': - prim = GL_POINTS; - break; - case 't': - prim = GL_TRIANGLES; - break; - case 's': - psz += .5; - break; - case 'S': - if (psz > .5) - psz -= .5; - break; - case 'm': - pointsmooth = !pointsmooth; - break; - case 'z': - program_point_size = !program_point_size; - break; - case '+': - nr_steps++; - break; - case '-': - if (nr_steps) - nr_steps--; - break; - case ' ': - psz = 1.0; - prim = GL_TRIANGLES; - nr_steps = 4; - break; - case 27: - CleanUp(); - exit(0); - break; - } - glutPostRedisplay(); -} - -int main( int argc, char *argv[] ) -{ - glutInit( &argc, argv ); - glutInitWindowPosition( 0, 0 ); - glutInitWindowSize( 250, 250 ); - glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH ); - glutCreateWindow(argv[argc-1]); - glewInit(); - glutReshapeFunc( Reshape ); - glutKeyboardFunc( Key ); - glutDisplayFunc( Display ); - args( argc, argv ); - prepare_shaders(); - glutMainLoop(); - return 0; -} |