diff options
Diffstat (limited to 'progs/glsl/texdemo1.c')
-rw-r--r-- | progs/glsl/texdemo1.c | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/progs/glsl/texdemo1.c b/progs/glsl/texdemo1.c index 41010746ee..5b1913a722 100644 --- a/progs/glsl/texdemo1.c +++ b/progs/glsl/texdemo1.c @@ -28,9 +28,9 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> +#include <GL/glew.h> #include "GL/glut.h" #include "readtex.h" -#include "extfuncs.h" #include "shaderutil.h" static const char *Demo = "texdemo1"; @@ -49,17 +49,18 @@ static GLfloat TexXrot = 0, TexYrot = 0; static GLfloat Xrot = 20.0, Yrot = 20.0, Zrot = 0.0; static GLfloat EyeDist = 10; static GLboolean Anim = GL_TRUE; +static int win = 0; static struct uniform_info ReflectUniforms[] = { - { "cubeTex", 1, GL_INT, { 0, 0, 0, 0 }, -1 }, - { "lightPos", 3, GL_FLOAT, { 10, 10, 20, 0 }, -1 }, + { "cubeTex", 1, GL_SAMPLER_CUBE, { 0, 0, 0, 0 }, -1 }, + { "lightPos", 1, GL_FLOAT_VEC3, { 10, 10, 20, 0 }, -1 }, END_OF_UNIFORMS }; static struct uniform_info SimpleUniforms[] = { - { "tex2d", 1, GL_INT, { 1, 0, 0, 0 }, -1 }, - { "lightPos", 3, GL_FLOAT, { 10, 10, 20, 0 }, -1 }, + { "tex2d", 1, GL_SAMPLER_2D, { 1, 0, 0, 0 }, -1 }, + { "lightPos", 1, GL_FLOAT_VEC3, { 10, 10, 20, 0 }, -1 }, END_OF_UNIFORMS }; @@ -96,7 +97,7 @@ draw(void) /* sphere w/ reflection map */ glPushMatrix(); glTranslatef(0, 1, 0); - glUseProgram_func(Program1); + glUseProgram(Program1); /* setup texture matrix */ glActiveTexture(GL_TEXTURE0); @@ -115,7 +116,7 @@ draw(void) glPopMatrix(); /* ground */ - glUseProgram_func(Program2); + glUseProgram(Program2); glTranslatef(0, -1.0, 0); DrawGround(5); @@ -159,6 +160,7 @@ key(unsigned char k, int x, int y) EyeDist = 90; break; case 27: + glutDestroyWindow(win); exit(0); } glutPostRedisplay(); @@ -378,9 +380,10 @@ CreateProgram(const char *vertProgFile, const char *fragProgFile, fragShader = CompileShaderFile(GL_FRAGMENT_SHADER, fragProgFile); program = LinkShaders(vertShader, fragShader); - glUseProgram_func(program); + glUseProgram(program); - InitUniforms(program, uniforms); + SetUniformValues(program, uniforms); + PrintUniforms(uniforms); return program; } @@ -405,8 +408,6 @@ Init(GLboolean useImageFiles) } printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER)); - GetExtensionFuncs(); - InitTextures(useImageFiles); InitPrograms(); @@ -423,7 +424,8 @@ main(int argc, char *argv[]) glutInit(&argc, argv); glutInitWindowSize(500, 400); glutInitDisplayMode(GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE); - glutCreateWindow(Demo); + win = glutCreateWindow(Demo); + glewInit(); glutReshapeFunc(Reshape); glutKeyboardFunc(key); glutSpecialFunc(specialkey); |