progs/glsl: finish conversion to GLEW

This is a follow-on to b799af91d5.
Remove _func function suffix and unneeded #includes.
This commit is contained in:
Brian Paul
2009-07-17 13:23:11 -06:00
parent a77b455af0
commit ee0b1bc7d3
24 changed files with 232 additions and 344 deletions

View File

@@ -10,9 +10,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <math.h> #include <math.h>
#include <GL/glew.h> #include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glut.h> #include <GL/glut.h>
#include "extfuncs.h"
#include "shaderutil.h" #include "shaderutil.h"
@@ -144,9 +142,9 @@ Reshape(int width, int height)
static void static void
CleanUp(void) CleanUp(void)
{ {
glDeleteShader_func(fragShader); glDeleteShader(fragShader);
glDeleteShader_func(vertShader); glDeleteShader(vertShader);
glDeleteProgram_func(program); glDeleteProgram(program);
glutDestroyWindow(win); glutDestroyWindow(win);
} }
@@ -219,19 +217,17 @@ Init(void)
if (!ShadersSupported()) if (!ShadersSupported())
exit(1); exit(1);
GetExtensionFuncs();
vertShader = CompileShaderText(GL_VERTEX_SHADER, VertShaderText); vertShader = CompileShaderText(GL_VERTEX_SHADER, VertShaderText);
fragShader = CompileShaderText(GL_FRAGMENT_SHADER, FragShaderText); fragShader = CompileShaderText(GL_FRAGMENT_SHADER, FragShaderText);
program = LinkShaders(vertShader, fragShader); program = LinkShaders(vertShader, fragShader);
glUseProgram_func(program); glUseProgram(program);
/* Setup the HeightArray[] uniform */ /* Setup the HeightArray[] uniform */
for (i = 0; i < 20; i++) for (i = 0; i < 20; i++)
HeightArray[i] = i / 20.0; HeightArray[i] = i / 20.0;
u = glGetUniformLocation_func(program, "HeightArray"); u = glGetUniformLocation(program, "HeightArray");
glUniform1fv_func(u, 20, HeightArray); glUniform1fv(u, 20, HeightArray);
assert(glGetError() == 0); assert(glGetError() == 0);

View File

@@ -10,10 +10,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <math.h> #include <math.h>
#include <GL/glew.h> #include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glut.h> #include <GL/glut.h>
#include <GL/glext.h>
#include "extfuncs.h"
#include "shaderutil.h" #include "shaderutil.h"
@@ -79,11 +76,11 @@ Redisplay(void)
BitmapText("-X"); BitmapText("-X");
} }
else { else {
glUseProgram_func(Program); glUseProgram(Program);
/* vertex positions (deltas) depend on texture size and window size */ /* vertex positions (deltas) depend on texture size and window size */
if (uScale != -1) { if (uScale != -1) {
glUniform2f_func(uScale, glUniform2f(uScale,
2.0 * TEX_WIDTH / WinWidth, 2.0 * TEX_WIDTH / WinWidth,
2.0 * TEX_HEIGHT / WinHeight); 2.0 * TEX_HEIGHT / WinHeight);
} }
@@ -106,7 +103,7 @@ Redisplay(void)
glTexCoord2f(0, 1); glVertex3fv(nx); glTexCoord2f(0, 1); glVertex3fv(nx);
glEnd(); glEnd();
glUseProgram_func(0); glUseProgram(0);
} }
glPopMatrix(); glPopMatrix();
@@ -161,9 +158,9 @@ Key(unsigned char key, int x, int y)
printf("Using billboard texture\n"); printf("Using billboard texture\n");
break; break;
case 27: case 27:
glDeleteShader_func(FragShader); glDeleteShader(FragShader);
glDeleteShader_func(VertShader); glDeleteShader(VertShader);
glDeleteProgram_func(Program); glDeleteProgram(Program);
glutDestroyWindow(Win); glutDestroyWindow(Win);
exit(0); exit(0);
} }
@@ -278,21 +275,19 @@ Init(void)
if (!ShadersSupported()) if (!ShadersSupported())
exit(1); exit(1);
GetExtensionFuncs();
VertShader = CompileShaderText(GL_VERTEX_SHADER, vertShaderText); VertShader = CompileShaderText(GL_VERTEX_SHADER, vertShaderText);
FragShader = CompileShaderText(GL_FRAGMENT_SHADER, fragShaderText); FragShader = CompileShaderText(GL_FRAGMENT_SHADER, fragShaderText);
Program = LinkShaders(VertShader, FragShader); Program = LinkShaders(VertShader, FragShader);
glUseProgram_func(Program); glUseProgram(Program);
uScale = glGetUniformLocation_func(Program, "scale"); uScale = glGetUniformLocation(Program, "scale");
uTex = glGetUniformLocation_func(Program, "tex2d"); uTex = glGetUniformLocation(Program, "tex2d");
if (uTex != -1) { if (uTex != -1) {
glUniform1i_func(uTex, 0); /* tex unit 0 */ glUniform1i(uTex, 0); /* tex unit 0 */
} }
glUseProgram_func(0); glUseProgram(0);
glClearColor(0.3f, 0.3f, 0.3f, 0.0f); glClearColor(0.3f, 0.3f, 0.3f, 0.0f);
glEnable(GL_DEPTH_TEST); glEnable(GL_DEPTH_TEST);

View File

@@ -10,10 +10,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <math.h> #include <math.h>
#include <GL/glew.h> #include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glut.h> #include <GL/glut.h>
#include <GL/glext.h>
#include "extfuncs.h"
#include "shaderutil.h" #include "shaderutil.h"
@@ -83,9 +80,9 @@ Reshape(int width, int height)
static void static void
CleanUp(void) CleanUp(void)
{ {
glDeleteShader_func(fragShader); glDeleteShader(fragShader);
glDeleteShader_func(vertShader); glDeleteShader(vertShader);
glDeleteProgram_func(program); glDeleteProgram(program);
glutDestroyWindow(win); glutDestroyWindow(win);
} }
@@ -145,13 +142,11 @@ Init(void)
if (!ShadersSupported()) if (!ShadersSupported())
exit(1); exit(1);
GetExtensionFuncs();
vertShader = CompileShaderFile(GL_VERTEX_SHADER, VertProgFile); vertShader = CompileShaderFile(GL_VERTEX_SHADER, VertProgFile);
fragShader = CompileShaderFile(GL_FRAGMENT_SHADER, FragProgFile); fragShader = CompileShaderFile(GL_FRAGMENT_SHADER, FragProgFile);
program = LinkShaders(vertShader, fragShader); program = LinkShaders(vertShader, fragShader);
glUseProgram_func(program); glUseProgram(program);
InitUniforms(program, Uniforms); InitUniforms(program, Uniforms);
@@ -161,9 +156,9 @@ Init(void)
printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER)); printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER));
assert(glIsProgram_func(program)); assert(glIsProgram(program));
assert(glIsShader_func(fragShader)); assert(glIsShader(fragShader));
assert(glIsShader_func(vertShader)); assert(glIsShader(vertShader));
glColor3f(1, 0, 0); glColor3f(1, 0, 0);
} }

View File

@@ -9,10 +9,8 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <math.h> #include <math.h>
#include <GL/glew.h>
#include <GL/glut.h> #include <GL/glut.h>
#include <GL/glu.h>
#include <GL/glext.h>
#include "extfuncs.h"
#include "shaderutil.h" #include "shaderutil.h"
@@ -60,7 +58,7 @@ static void
Square(GLfloat size) Square(GLfloat size)
{ {
glNormal3f(0, 0, 1); glNormal3f(0, 0, 1);
glVertexAttrib3f_func(tangentAttrib, 1, 0, 0); glVertexAttrib3f(tangentAttrib, 1, 0, 0);
glBegin(GL_POLYGON); glBegin(GL_POLYGON);
glTexCoord2f(0, 0); glVertex2f(-size, -size); glTexCoord2f(0, 0); glVertex2f(-size, -size);
glTexCoord2f(1, 0); glVertex2f( size, -size); glTexCoord2f(1, 0); glVertex2f( size, -size);
@@ -164,9 +162,9 @@ Reshape(int width, int height)
static void static void
CleanUp(void) CleanUp(void)
{ {
glDeleteShader_func(fragShader); glDeleteShader(fragShader);
glDeleteShader_func(vertShader); glDeleteShader(vertShader);
glDeleteProgram_func(program); glDeleteProgram(program);
glutDestroyWindow(win); glutDestroyWindow(win);
} }
@@ -230,17 +228,15 @@ Init(void)
if (!ShadersSupported()) if (!ShadersSupported())
exit(1); exit(1);
GetExtensionFuncs();
vertShader = CompileShaderFile(GL_VERTEX_SHADER, VertProgFile); vertShader = CompileShaderFile(GL_VERTEX_SHADER, VertProgFile);
fragShader = CompileShaderFile(GL_FRAGMENT_SHADER, FragProgFile); fragShader = CompileShaderFile(GL_FRAGMENT_SHADER, FragProgFile);
program = LinkShaders(vertShader, fragShader); program = LinkShaders(vertShader, fragShader);
glUseProgram_func(program); glUseProgram(program);
assert(glIsProgram_func(program)); assert(glIsProgram(program));
assert(glIsShader_func(fragShader)); assert(glIsShader(fragShader));
assert(glIsShader_func(vertShader)); assert(glIsShader(vertShader));
assert(glGetError() == 0); assert(glGetError() == 0);
@@ -250,7 +246,7 @@ Init(void)
CheckError(__LINE__); CheckError(__LINE__);
tangentAttrib = glGetAttribLocation_func(program, "Tangent"); tangentAttrib = glGetAttribLocation(program, "Tangent");
printf("Tangent Attrib: %d\n", tangentAttrib); printf("Tangent Attrib: %d\n", tangentAttrib);
assert(tangentAttrib >= 0); assert(tangentAttrib >= 0);

View File

@@ -14,10 +14,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <math.h> #include <math.h>
#include <GL/glew.h> #include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glut.h> #include <GL/glut.h>
#include <GL/glext.h>
#include "extfuncs.h"
#include "shaderutil.h" #include "shaderutil.h"
@@ -71,9 +68,9 @@ Reshape(int width, int height)
static void static void
CleanUp(void) CleanUp(void)
{ {
glDeleteShader_func(fragShader); glDeleteShader(fragShader);
glDeleteShader_func(vertShader); glDeleteShader(vertShader);
glDeleteProgram_func(program); glDeleteProgram(program);
glutDestroyWindow(win); glutDestroyWindow(win);
} }
@@ -178,13 +175,11 @@ Init(void)
if (!ShadersSupported()) if (!ShadersSupported())
exit(1); exit(1);
GetExtensionFuncs();
vertShader = CompileShaderText(GL_VERTEX_SHADER, vertShaderText); vertShader = CompileShaderText(GL_VERTEX_SHADER, vertShaderText);
fragShader = CompileShaderText(GL_FRAGMENT_SHADER, fragShaderText); fragShader = CompileShaderText(GL_FRAGMENT_SHADER, fragShaderText);
program = LinkShaders(vertShader, fragShader); program = LinkShaders(vertShader, fragShader);
glUseProgram_func(program); glUseProgram(program);
/*assert(glGetError() == 0);*/ /*assert(glGetError() == 0);*/
@@ -198,9 +193,9 @@ Init(void)
printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER)); printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER));
assert(glIsProgram_func(program)); assert(glIsProgram(program));
assert(glIsShader_func(fragShader)); assert(glIsShader(fragShader));
assert(glIsShader_func(vertShader)); assert(glIsShader(vertShader));
glColor3f(1, 0, 0); glColor3f(1, 0, 0);
} }

View File

@@ -13,10 +13,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <math.h> #include <math.h>
#include <GL/glew.h> #include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glut.h> #include <GL/glut.h>
#include <GL/glext.h>
#include "extfuncs.h"
#include "shaderutil.h" #include "shaderutil.h"
@@ -86,9 +83,9 @@ Reshape(int width, int height)
static void static void
CleanUp(void) CleanUp(void)
{ {
glDeleteShader_func(fragShader); glDeleteShader(fragShader);
glDeleteShader_func(vertShader); glDeleteShader(vertShader);
glDeleteProgram_func(program); glDeleteProgram(program);
glutDestroyWindow(win); glutDestroyWindow(win);
} }
@@ -130,13 +127,11 @@ Init(void)
if (!ShadersSupported()) if (!ShadersSupported())
exit(1); exit(1);
GetExtensionFuncs();
vertShader = CompileShaderText(GL_VERTEX_SHADER, vertShaderText); vertShader = CompileShaderText(GL_VERTEX_SHADER, vertShaderText);
fragShader = CompileShaderText(GL_FRAGMENT_SHADER, fragShaderText); fragShader = CompileShaderText(GL_FRAGMENT_SHADER, fragShaderText);
program = LinkShaders(vertShader, fragShader); program = LinkShaders(vertShader, fragShader);
glUseProgram_func(program); glUseProgram(program);
/*assert(glGetError() == 0);*/ /*assert(glGetError() == 0);*/
@@ -144,9 +139,9 @@ Init(void)
printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER)); printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER));
assert(glIsProgram_func(program)); assert(glIsProgram(program));
assert(glIsShader_func(fragShader)); assert(glIsShader(fragShader));
assert(glIsShader_func(vertShader)); assert(glIsShader(vertShader));
glColor3f(1, 0, 0); glColor3f(1, 0, 0);
} }

View File

@@ -10,10 +10,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <math.h> #include <math.h>
#include <GL/glew.h> #include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glut.h> #include <GL/glut.h>
#include <GL/glext.h>
#include "extfuncs.h"
#include "shaderutil.h" #include "shaderutil.h"
@@ -70,9 +67,9 @@ Reshape(int width, int height)
static void static void
CleanUp(void) CleanUp(void)
{ {
glDeleteShader_func(fragShader); glDeleteShader(fragShader);
glDeleteShader_func(vertShader); glDeleteShader(vertShader);
glDeleteProgram_func(program); glDeleteProgram(program);
glutDestroyWindow(win); glutDestroyWindow(win);
} }
@@ -142,8 +139,6 @@ Init(void)
if (!ShadersSupported()) if (!ShadersSupported())
exit(1); exit(1);
GetExtensionFuncs();
if (FragProgFile) if (FragProgFile)
fragShader = CompileShaderFile(GL_FRAGMENT_SHADER, FragProgFile); fragShader = CompileShaderFile(GL_FRAGMENT_SHADER, FragProgFile);
else else
@@ -156,7 +151,7 @@ Init(void)
program = LinkShaders(vertShader, fragShader); program = LinkShaders(vertShader, fragShader);
glUseProgram_func(program); glUseProgram(program);
/*assert(glGetError() == 0);*/ /*assert(glGetError() == 0);*/
@@ -165,9 +160,9 @@ Init(void)
printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER)); printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER));
assert(glIsProgram_func(program)); assert(glIsProgram(program));
assert(glIsShader_func(fragShader)); assert(glIsShader(fragShader));
assert(glIsShader_func(vertShader)); assert(glIsShader(vertShader));
glColor3f(1, 0, 0); glColor3f(1, 0, 0);
} }

View File

@@ -10,10 +10,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <math.h> #include <math.h>
#include <GL/glew.h> #include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glut.h> #include <GL/glut.h>
#include <GL/glext.h>
#include "extfuncs.h"
#include "shaderutil.h" #include "shaderutil.h"
@@ -133,11 +130,11 @@ Reshape(int width, int height)
static void static void
CleanUp(void) CleanUp(void)
{ {
glDeleteShader_func(VertShader1); glDeleteShader(VertShader1);
glDeleteShader_func(VertShader2); glDeleteShader(VertShader2);
glDeleteShader_func(FragShader1); glDeleteShader(FragShader1);
glDeleteShader_func(FragShader2); glDeleteShader(FragShader2);
glDeleteProgram_func(Program); glDeleteProgram(Program);
glutDestroyWindow(Win); glutDestroyWindow(Win);
} }
@@ -176,11 +173,11 @@ static void
CheckLink(GLuint prog) CheckLink(GLuint prog)
{ {
GLint stat; GLint stat;
glGetProgramiv_func(prog, GL_LINK_STATUS, &stat); glGetProgramiv(prog, GL_LINK_STATUS, &stat);
if (!stat) { if (!stat) {
GLchar log[1000]; GLchar log[1000];
GLsizei len; GLsizei len;
glGetProgramInfoLog_func(prog, 1000, &len, log); glGetProgramInfoLog(prog, 1000, &len, log);
fprintf(stderr, "Linker error:\n%s\n", log); fprintf(stderr, "Linker error:\n%s\n", log);
} }
} }
@@ -192,8 +189,6 @@ Init(void)
if (!ShadersSupported()) if (!ShadersSupported())
exit(1); exit(1);
GetExtensionFuncs();
printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER)); printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER));
VertShader1 = CompileShaderText(GL_VERTEX_SHADER, VertShaderSource1); VertShader1 = CompileShaderText(GL_VERTEX_SHADER, VertShaderSource1);
@@ -201,26 +196,26 @@ Init(void)
FragShader1 = CompileShaderText(GL_FRAGMENT_SHADER, FragShaderSource1); FragShader1 = CompileShaderText(GL_FRAGMENT_SHADER, FragShaderSource1);
FragShader2 = CompileShaderText(GL_FRAGMENT_SHADER, FragShaderSource2); FragShader2 = CompileShaderText(GL_FRAGMENT_SHADER, FragShaderSource2);
Program = glCreateProgram_func(); Program = glCreateProgram();
glAttachShader_func(Program, VertShader1); glAttachShader(Program, VertShader1);
glAttachShader_func(Program, VertShader2); glAttachShader(Program, VertShader2);
glAttachShader_func(Program, FragShader1); glAttachShader(Program, FragShader1);
glAttachShader_func(Program, FragShader2); glAttachShader(Program, FragShader2);
glLinkProgram_func(Program); glLinkProgram(Program);
CheckLink(Program); CheckLink(Program);
glUseProgram_func(Program); glUseProgram(Program);
uDiffuse = glGetUniformLocation_func(Program, "diffuse"); uDiffuse = glGetUniformLocation(Program, "diffuse");
uSpecular = glGetUniformLocation_func(Program, "specular"); uSpecular = glGetUniformLocation(Program, "specular");
uTexture = glGetUniformLocation_func(Program, "texture"); uTexture = glGetUniformLocation(Program, "texture");
printf("DiffusePos %d SpecularPos %d TexturePos %d\n", printf("DiffusePos %d SpecularPos %d TexturePos %d\n",
uDiffuse, uSpecular, uTexture); uDiffuse, uSpecular, uTexture);
glUniform4fv_func(uDiffuse, 1, diffuse); glUniform4fv(uDiffuse, 1, diffuse);
glUniform4fv_func(uSpecular, 1, specular); glUniform4fv(uSpecular, 1, specular);
glClearColor(0.3f, 0.3f, 0.3f, 0.0f); glClearColor(0.3f, 0.3f, 0.3f, 0.0f);
glEnable(GL_DEPTH_TEST); glEnable(GL_DEPTH_TEST);
@@ -229,11 +224,11 @@ Init(void)
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, specular); glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, specular);
glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, 10.0f); glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, 10.0f);
assert(glIsProgram_func(Program)); assert(glIsProgram(Program));
assert(glIsShader_func(VertShader1)); assert(glIsShader(VertShader1));
assert(glIsShader_func(VertShader2)); assert(glIsShader(VertShader2));
assert(glIsShader_func(FragShader1)); assert(glIsShader(FragShader1));
assert(glIsShader_func(FragShader2)); assert(glIsShader(FragShader2));
glColor3f(1, 0, 0); glColor3f(1, 0, 0);
} }

View File

@@ -10,10 +10,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <math.h> #include <math.h>
#include <GL/glew.h> #include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glut.h> #include <GL/glut.h>
#include <GL/glext.h>
#include "extfuncs.h"
#include "shaderutil.h" #include "shaderutil.h"
@@ -57,9 +54,9 @@ Redisplay(void)
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
/* set interactive uniform parameters */ /* set interactive uniform parameters */
glUniform1fv_func(uZoom, 1, &zoom); glUniform1fv(uZoom, 1, &zoom);
glUniform1fv_func(uXcenter, 1, &xCenter); glUniform1fv(uXcenter, 1, &xCenter);
glUniform1fv_func(uYcenter, 1, &yCenter); glUniform1fv(uYcenter, 1, &yCenter);
glPushMatrix(); glPushMatrix();
glRotatef(xRot, 1.0f, 0.0f, 0.0f); glRotatef(xRot, 1.0f, 0.0f, 0.0f);
@@ -95,9 +92,9 @@ Reshape(int width, int height)
static void static void
CleanUp(void) CleanUp(void)
{ {
glDeleteShader_func(fragShader); glDeleteShader(fragShader);
glDeleteShader_func(vertShader); glDeleteShader(vertShader);
glDeleteProgram_func(program); glDeleteProgram(program);
glutDestroyWindow(win); glutDestroyWindow(win);
} }
@@ -156,19 +153,17 @@ Init(void)
if (!ShadersSupported()) if (!ShadersSupported())
exit(1); exit(1);
GetExtensionFuncs();
vertShader = CompileShaderFile(GL_VERTEX_SHADER, VertProgFile); vertShader = CompileShaderFile(GL_VERTEX_SHADER, VertProgFile);
fragShader = CompileShaderFile(GL_FRAGMENT_SHADER, FragProgFile); fragShader = CompileShaderFile(GL_FRAGMENT_SHADER, FragProgFile);
program = LinkShaders(vertShader, fragShader); program = LinkShaders(vertShader, fragShader);
glUseProgram_func(program); glUseProgram(program);
InitUniforms(program, Uniforms); InitUniforms(program, Uniforms);
uZoom = glGetUniformLocation_func(program, "Zoom"); uZoom = glGetUniformLocation(program, "Zoom");
uXcenter = glGetUniformLocation_func(program, "Xcenter"); uXcenter = glGetUniformLocation(program, "Xcenter");
uYcenter = glGetUniformLocation_func(program, "Ycenter"); uYcenter = glGetUniformLocation(program, "Ycenter");
assert(glGetError() == 0); assert(glGetError() == 0);
@@ -176,9 +171,9 @@ Init(void)
printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER)); printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER));
assert(glIsProgram_func(program)); assert(glIsProgram(program));
assert(glIsShader_func(fragShader)); assert(glIsShader(fragShader));
assert(glIsShader_func(vertShader)); assert(glIsShader(vertShader));
glColor3f(1, 0, 0); glColor3f(1, 0, 0);
} }

View File

@@ -9,10 +9,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <math.h> #include <math.h>
#include <GL/glew.h> #include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glut.h> #include <GL/glut.h>
#include <GL/glext.h>
#include "extfuncs.h"
static const char *VertShaderText = static const char *VertShaderText =
"void main() {\n" "void main() {\n"
@@ -108,10 +105,10 @@ CleanUp(void)
{ {
GLint i; GLint i;
glDeleteShader_func(vertShader); glDeleteShader(vertShader);
for( i = 0; i < 4; i++ ) { for( i = 0; i < 4; i++ ) {
glDeleteShader_func(fragShader[ i ]); glDeleteShader(fragShader[ i ]);
glDeleteProgram_func(program[ i ]); glDeleteProgram(program[ i ]);
} }
glutDestroyWindow(win); glutDestroyWindow(win);
} }
@@ -144,7 +141,7 @@ Key(unsigned char key, int x, int y)
case '2': case '2':
case '3': case '3':
case '4': case '4':
glUseProgram_func(program[ key - '1' ]); glUseProgram(program[ key - '1' ]);
break; break;
case 27: case 27:
CleanUp(); CleanUp();
@@ -187,15 +184,15 @@ LoadAndCompileShader(GLuint shader, const char *text)
{ {
GLint stat; GLint stat;
glShaderSource_func(shader, 1, (const GLchar **) &text, NULL); glShaderSource(shader, 1, (const GLchar **) &text, NULL);
glCompileShader_func(shader); glCompileShader(shader);
glGetShaderiv_func(shader, GL_COMPILE_STATUS, &stat); glGetShaderiv(shader, GL_COMPILE_STATUS, &stat);
if (!stat) { if (!stat) {
GLchar log[1000]; GLchar log[1000];
GLsizei len; GLsizei len;
glGetShaderInfoLog_func(shader, 1000, &len, log); glGetShaderInfoLog(shader, 1000, &len, log);
fprintf(stderr, "noise: problem compiling shader: %s\n", log); fprintf(stderr, "noise: problem compiling shader: %s\n", log);
exit(1); exit(1);
} }
@@ -209,11 +206,11 @@ static void
CheckLink(GLuint prog) CheckLink(GLuint prog)
{ {
GLint stat; GLint stat;
glGetProgramiv_func(prog, GL_LINK_STATUS, &stat); glGetProgramiv(prog, GL_LINK_STATUS, &stat);
if (!stat) { if (!stat) {
GLchar log[1000]; GLchar log[1000];
GLsizei len; GLsizei len;
glGetProgramInfoLog_func(prog, 1000, &len, log); glGetProgramInfoLog(prog, 1000, &len, log);
fprintf(stderr, "Linker error:\n%s\n", log); fprintf(stderr, "Linker error:\n%s\n", log);
} }
else { else {
@@ -234,22 +231,20 @@ Init(void)
/*exit(1);*/ /*exit(1);*/
} }
GetExtensionFuncs(); vertShader = glCreateShader(GL_VERTEX_SHADER);
vertShader = glCreateShader_func(GL_VERTEX_SHADER);
LoadAndCompileShader(vertShader, VertShaderText); LoadAndCompileShader(vertShader, VertShaderText);
for( i = 0; i < 4; i++ ) { for( i = 0; i < 4; i++ ) {
fragShader[ i ] = glCreateShader_func(GL_FRAGMENT_SHADER); fragShader[ i ] = glCreateShader(GL_FRAGMENT_SHADER);
LoadAndCompileShader(fragShader[ i ], FragShaderText[ i ]); LoadAndCompileShader(fragShader[ i ], FragShaderText[ i ]);
program[ i ] = glCreateProgram_func(); program[ i ] = glCreateProgram();
glAttachShader_func(program[ i ], fragShader[ i ]); glAttachShader(program[ i ], fragShader[ i ]);
glAttachShader_func(program[ i ], vertShader); glAttachShader(program[ i ], vertShader);
glLinkProgram_func(program[ i ]); glLinkProgram(program[ i ]);
CheckLink(program[ i ]); CheckLink(program[ i ]);
} }
glUseProgram_func(program[ 0 ]); glUseProgram(program[ 0 ]);
assert(glGetError() == 0); assert(glGetError() == 0);

View File

@@ -31,7 +31,6 @@
#include <GL/glew.h> #include <GL/glew.h>
#include "GL/glut.h" #include "GL/glut.h"
#include "readtex.h" #include "readtex.h"
#include "extfuncs.h"
#include "shaderutil.h" #include "shaderutil.h"
static const char *Demo = "multitex"; static const char *Demo = "multitex";
@@ -81,22 +80,22 @@ static void
DrawPolygonArray(void) DrawPolygonArray(void)
{ {
if (VertCoord_attr >= 0) { if (VertCoord_attr >= 0) {
glVertexAttribPointer_func(VertCoord_attr, 2, GL_FLOAT, GL_FALSE, glVertexAttribPointer(VertCoord_attr, 2, GL_FLOAT, GL_FALSE,
0, VertCoords); 0, VertCoords);
glEnableVertexAttribArray_func(VertCoord_attr); glEnableVertexAttribArray(VertCoord_attr);
} }
else { else {
glVertexPointer(2, GL_FLOAT, 0, VertCoords); glVertexPointer(2, GL_FLOAT, 0, VertCoords);
glEnable(GL_VERTEX_ARRAY); glEnable(GL_VERTEX_ARRAY);
} }
glVertexAttribPointer_func(TexCoord0_attr, 2, GL_FLOAT, GL_FALSE, glVertexAttribPointer(TexCoord0_attr, 2, GL_FLOAT, GL_FALSE,
0, Tex0Coords); 0, Tex0Coords);
glEnableVertexAttribArray_func(TexCoord0_attr); glEnableVertexAttribArray(TexCoord0_attr);
glVertexAttribPointer_func(TexCoord1_attr, 2, GL_FLOAT, GL_FALSE, glVertexAttribPointer(TexCoord1_attr, 2, GL_FLOAT, GL_FALSE,
0, Tex1Coords); 0, Tex1Coords);
glEnableVertexAttribArray_func(TexCoord1_attr); glEnableVertexAttribArray(TexCoord1_attr);
glDrawArrays(GL_TRIANGLE_FAN, 0, 4); glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
} }
@@ -110,11 +109,11 @@ DrawPolygonVert(void)
glBegin(GL_TRIANGLE_FAN); glBegin(GL_TRIANGLE_FAN);
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
glVertexAttrib2fv_func(TexCoord0_attr, Tex0Coords[i]); glVertexAttrib2fv(TexCoord0_attr, Tex0Coords[i]);
glVertexAttrib2fv_func(TexCoord1_attr, Tex1Coords[i]); glVertexAttrib2fv(TexCoord1_attr, Tex1Coords[i]);
if (VertCoord_attr >= 0) if (VertCoord_attr >= 0)
glVertexAttrib2fv_func(VertCoord_attr, VertCoords[i]); glVertexAttrib2fv(VertCoord_attr, VertCoords[i]);
else else
glVertex2fv(VertCoords[i]); glVertex2fv(VertCoords[i]);
} }
@@ -268,27 +267,27 @@ CreateProgram(const char *vertProgFile, const char *fragProgFile,
assert(vertShader); assert(vertShader);
program = LinkShaders(vertShader, fragShader); program = LinkShaders(vertShader, fragShader);
glUseProgram_func(program); glUseProgram(program);
InitUniforms(program, uniforms); InitUniforms(program, uniforms);
VertCoord_attr = glGetAttribLocation_func(program, "VertCoord"); VertCoord_attr = glGetAttribLocation(program, "VertCoord");
if (VertCoord_attr > 0) { if (VertCoord_attr > 0) {
/* We want the VertCoord attrib to have position zero so that /* We want the VertCoord attrib to have position zero so that
* the call to glVertexAttrib(0, xyz) triggers vertex processing. * the call to glVertexAttrib(0, xyz) triggers vertex processing.
* Otherwise, if TexCoord0 or TexCoord1 gets position 0 we'd have * Otherwise, if TexCoord0 or TexCoord1 gets position 0 we'd have
* to set that attribute last (which is a PITA to manage). * to set that attribute last (which is a PITA to manage).
*/ */
glBindAttribLocation_func(program, 0, "VertCoord"); glBindAttribLocation(program, 0, "VertCoord");
/* re-link */ /* re-link */
glLinkProgram_func(program); glLinkProgram(program);
/* VertCoord_attr should be zero now */ /* VertCoord_attr should be zero now */
VertCoord_attr = glGetAttribLocation_func(program, "VertCoord"); VertCoord_attr = glGetAttribLocation(program, "VertCoord");
assert(VertCoord_attr == 0); assert(VertCoord_attr == 0);
} }
TexCoord0_attr = glGetAttribLocation_func(program, "TexCoord0"); TexCoord0_attr = glGetAttribLocation(program, "TexCoord0");
TexCoord1_attr = glGetAttribLocation_func(program, "TexCoord1"); TexCoord1_attr = glGetAttribLocation(program, "TexCoord1");
printf("TexCoord0_attr = %d\n", TexCoord0_attr); printf("TexCoord0_attr = %d\n", TexCoord0_attr);
printf("TexCoord1_attr = %d\n", TexCoord1_attr); printf("TexCoord1_attr = %d\n", TexCoord1_attr);
@@ -316,8 +315,6 @@ InitGL(void)
} }
printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER)); printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER));
GetExtensionFuncs();
InitTextures(); InitTextures();
InitPrograms(); InitPrograms();

View File

@@ -9,10 +9,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <math.h> #include <math.h>
#include <GL/glew.h> #include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glut.h> #include <GL/glut.h>
#include <GL/glext.h>
#include "extfuncs.h"
#include "shaderutil.h" #include "shaderutil.h"
@@ -68,7 +65,7 @@ Redisplay(void)
{ {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glUniform1fv_func(Uniforms[2].location, 1, &Slice); glUniform1fv(Uniforms[2].location, 1, &Slice);
glPushMatrix(); glPushMatrix();
glRotatef(xRot, 1.0f, 0.0f, 0.0f); glRotatef(xRot, 1.0f, 0.0f, 0.0f);
@@ -104,9 +101,9 @@ Reshape(int width, int height)
static void static void
CleanUp(void) CleanUp(void)
{ {
glDeleteShader_func(fragShader); glDeleteShader(fragShader);
glDeleteShader_func(vertShader); glDeleteShader(vertShader);
glDeleteProgram_func(program); glDeleteProgram(program);
glutDestroyWindow(win); glutDestroyWindow(win);
} }
@@ -176,13 +173,11 @@ Init(void)
if (!ShadersSupported()) if (!ShadersSupported())
exit(1); exit(1);
GetExtensionFuncs();
vertShader = CompileShaderText(GL_VERTEX_SHADER, VertShaderText); vertShader = CompileShaderText(GL_VERTEX_SHADER, VertShaderText);
fragShader = CompileShaderText(GL_FRAGMENT_SHADER, FragShaderText); fragShader = CompileShaderText(GL_FRAGMENT_SHADER, FragShaderText);
program = LinkShaders(vertShader, fragShader); program = LinkShaders(vertShader, fragShader);
glUseProgram_func(program); glUseProgram(program);
InitUniforms(program, Uniforms); InitUniforms(program, Uniforms);
@@ -192,9 +187,9 @@ Init(void)
printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER)); printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER));
assert(glIsProgram_func(program)); assert(glIsProgram(program));
assert(glIsShader_func(fragShader)); assert(glIsShader(fragShader));
assert(glIsShader_func(vertShader)); assert(glIsShader(vertShader));
glColor3f(1, 0, 0); glColor3f(1, 0, 0);
} }

View File

@@ -11,10 +11,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <math.h> #include <math.h>
#include <GL/glew.h> #include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glut.h> #include <GL/glut.h>
#include <GL/glext.h>
#include "extfuncs.h"
#include "shaderutil.h" #include "shaderutil.h"
@@ -65,9 +62,9 @@ Reshape(int width, int height)
static void static void
CleanUp(void) CleanUp(void)
{ {
glDeleteShader_func(fragShader); glDeleteShader(fragShader);
glDeleteShader_func(vertShader); glDeleteShader(vertShader);
glDeleteProgram_func(program); glDeleteProgram(program);
glutDestroyWindow(win); glutDestroyWindow(win);
} }
@@ -142,18 +139,16 @@ Init(void)
if (!ShadersSupported()) if (!ShadersSupported())
exit(1); exit(1);
GetExtensionFuncs();
vertShader = CompileShaderText(GL_VERTEX_SHADER, vertShaderText); vertShader = CompileShaderText(GL_VERTEX_SHADER, vertShaderText);
fragShader = CompileShaderText(GL_FRAGMENT_SHADER, fragShaderText); fragShader = CompileShaderText(GL_FRAGMENT_SHADER, fragShaderText);
program = LinkShaders(vertShader, fragShader); program = LinkShaders(vertShader, fragShader);
glUseProgram_func(program); glUseProgram(program);
tex0 = glGetUniformLocation_func(program, "tex0"); tex0 = glGetUniformLocation(program, "tex0");
printf("Uniforms: tex0: %d\n", tex0); printf("Uniforms: tex0: %d\n", tex0);
glUniform1i_func(tex0, 0); /* tex unit 0 */ glUniform1i(tex0, 0); /* tex unit 0 */
/*assert(glGetError() == 0);*/ /*assert(glGetError() == 0);*/
@@ -161,9 +156,9 @@ Init(void)
printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER)); printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER));
assert(glIsProgram_func(program)); assert(glIsProgram(program));
assert(glIsShader_func(fragShader)); assert(glIsShader(fragShader));
assert(glIsShader_func(vertShader)); assert(glIsShader(vertShader));
MakeTexture(); MakeTexture();

View File

@@ -11,10 +11,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <math.h> #include <math.h>
#include <GL/glew.h> #include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glut.h> #include <GL/glut.h>
#include <GL/glext.h>
#include "extfuncs.h"
#include "shaderutil.h" #include "shaderutil.h"
@@ -100,7 +97,7 @@ Redisplay(void)
*/ */
glPushMatrix(); glPushMatrix();
glTranslatef(0, 1.2, 0); glTranslatef(0, 1.2, 0);
glUseProgram_func(0); glUseProgram(0);
DrawPoints(GL_FALSE); DrawPoints(GL_FALSE);
glPopMatrix(); glPopMatrix();
@@ -109,9 +106,9 @@ Redisplay(void)
*/ */
glPushMatrix(); glPushMatrix();
glTranslatef(0, -1.2, 0); glTranslatef(0, -1.2, 0);
glUseProgram_func(Program); glUseProgram(Program);
if (uViewportInv != -1) { if (uViewportInv != -1) {
glUniform2f_func(uViewportInv, 1.0 / WinWidth, 1.0 / WinHeight); glUniform2f(uViewportInv, 1.0 / WinWidth, 1.0 / WinHeight);
} }
DrawPoints(GL_TRUE); DrawPoints(GL_TRUE);
glPopMatrix(); glPopMatrix();
@@ -151,9 +148,9 @@ Key(unsigned char key, int x, int y)
Smooth = !Smooth; Smooth = !Smooth;
break; break;
case 27: case 27:
glDeleteShader_func(FragShader); glDeleteShader(FragShader);
glDeleteShader_func(VertShader); glDeleteShader(VertShader);
glDeleteProgram_func(Program); glDeleteProgram(Program);
glutDestroyWindow(Win); glutDestroyWindow(Win);
exit(0); exit(0);
} }
@@ -226,17 +223,15 @@ Init(void)
if (!ShadersSupported()) if (!ShadersSupported())
exit(1); exit(1);
GetExtensionFuncs();
VertShader = CompileShaderText(GL_VERTEX_SHADER, vertShaderText); VertShader = CompileShaderText(GL_VERTEX_SHADER, vertShaderText);
FragShader = CompileShaderText(GL_FRAGMENT_SHADER, fragShaderText); FragShader = CompileShaderText(GL_FRAGMENT_SHADER, fragShaderText);
Program = LinkShaders(VertShader, FragShader); Program = LinkShaders(VertShader, FragShader);
glUseProgram_func(Program); glUseProgram(Program);
uViewportInv = glGetUniformLocation_func(Program, "viewportInv"); uViewportInv = glGetUniformLocation(Program, "viewportInv");
glUseProgram_func(0); glUseProgram(0);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
} }

View File

@@ -42,7 +42,6 @@
#include <GL/glew.h> #include <GL/glew.h>
#include "GL/glut.h" #include "GL/glut.h"
#include "readtex.h" #include "readtex.h"
#include "extfuncs.h"
#include "shaderutil.h" #include "shaderutil.h"
@@ -291,7 +290,7 @@ CreateProgram(void)
assert(vertShader); assert(vertShader);
program = LinkShaders(vertShader, fragShader); program = LinkShaders(vertShader, fragShader);
glUseProgram_func(program); glUseProgram(program);
free(fragShaderText); free(fragShaderText);
@@ -316,10 +315,10 @@ InitProgram(void)
#else #else
sprintf(uname, "tex[%d]", s); sprintf(uname, "tex[%d]", s);
#endif #endif
loc = glGetUniformLocation_func(Program, uname); loc = glGetUniformLocation(Program, uname);
assert(loc >= 0); assert(loc >= 0);
glUniform1i_func(loc, s); glUniform1i(loc, s);
} }
} }
@@ -334,8 +333,6 @@ InitGL(void)
printf("GL_RENDERER = %s\n", (const char *) glGetString(GL_RENDERER)); printf("GL_RENDERER = %s\n", (const char *) glGetString(GL_RENDERER));
GetExtensionFuncs();
glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, &NumSamplers); glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, &NumSamplers);
if (NumSamplers > MAX_SAMPLERS) if (NumSamplers > MAX_SAMPLERS)
NumSamplers = MAX_SAMPLERS; NumSamplers = MAX_SAMPLERS;

View File

@@ -11,10 +11,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <math.h> #include <math.h>
#include <GL/glew.h> #include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glut.h> #include <GL/glut.h>
#include <GL/glext.h>
#include "extfuncs.h"
/** Use GL_RECTANGLE texture (with projective texcoords)? */ /** Use GL_RECTANGLE texture (with projective texcoords)? */
@@ -67,7 +64,7 @@ Redisplay(void)
glPushMatrix(); glPushMatrix();
CheckError(__LINE__); CheckError(__LINE__);
glUseProgram_func(program); glUseProgram(program);
CheckError(__LINE__); CheckError(__LINE__);
glBegin(GL_POLYGON); glBegin(GL_POLYGON);
@@ -87,7 +84,7 @@ Redisplay(void)
glPopMatrix(); glPopMatrix();
glUseProgram_func(0); glUseProgram(0);
glWindowPos2iARB(80, 20); glWindowPos2iARB(80, 20);
PrintString("white black white black"); PrintString("white black white black");
@@ -111,9 +108,9 @@ Reshape(int width, int height)
static void static void
CleanUp(void) CleanUp(void)
{ {
glDeleteShader_func(fragShader); glDeleteShader(fragShader);
glDeleteShader_func(vertShader); glDeleteShader(vertShader);
glDeleteProgram_func(program); glDeleteProgram(program);
glutDestroyWindow(win); glutDestroyWindow(win);
} }
@@ -179,13 +176,13 @@ static void
LoadAndCompileShader(GLuint shader, const char *text) LoadAndCompileShader(GLuint shader, const char *text)
{ {
GLint stat; GLint stat;
glShaderSource_func(shader, 1, (const GLchar **) &text, NULL); glShaderSource(shader, 1, (const GLchar **) &text, NULL);
glCompileShader_func(shader); glCompileShader(shader);
glGetShaderiv_func(shader, GL_COMPILE_STATUS, &stat); glGetShaderiv(shader, GL_COMPILE_STATUS, &stat);
if (!stat) { if (!stat) {
GLchar log[1000]; GLchar log[1000];
GLsizei len; GLsizei len;
glGetShaderInfoLog_func(shader, 1000, &len, log); glGetShaderInfoLog(shader, 1000, &len, log);
fprintf(stderr, "fslight: problem compiling shader:\n%s\n", log); fprintf(stderr, "fslight: problem compiling shader:\n%s\n", log);
exit(1); exit(1);
} }
@@ -223,11 +220,11 @@ static void
CheckLink(GLuint prog) CheckLink(GLuint prog)
{ {
GLint stat; GLint stat;
glGetProgramiv_func(prog, GL_LINK_STATUS, &stat); glGetProgramiv(prog, GL_LINK_STATUS, &stat);
if (!stat) { if (!stat) {
GLchar log[1000]; GLchar log[1000];
GLsizei len; GLsizei len;
glGetProgramInfoLog_func(prog, 1000, &len, log); glGetProgramInfoLog(prog, 1000, &len, log);
fprintf(stderr, "Linker error:\n%s\n", log); fprintf(stderr, "Linker error:\n%s\n", log);
} }
} }
@@ -267,35 +264,33 @@ Init(void)
} }
printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER)); printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER));
GetExtensionFuncs(); fragShader = glCreateShader(GL_FRAGMENT_SHADER);
fragShader = glCreateShader_func(GL_FRAGMENT_SHADER);
if (FragProgFile) if (FragProgFile)
ReadShader(fragShader, FragProgFile); ReadShader(fragShader, FragProgFile);
else else
LoadAndCompileShader(fragShader, fragShaderText); LoadAndCompileShader(fragShader, fragShaderText);
vertShader = glCreateShader_func(GL_VERTEX_SHADER); vertShader = glCreateShader(GL_VERTEX_SHADER);
if (VertProgFile) if (VertProgFile)
ReadShader(vertShader, VertProgFile); ReadShader(vertShader, VertProgFile);
else else
LoadAndCompileShader(vertShader, vertShaderText); LoadAndCompileShader(vertShader, vertShaderText);
program = glCreateProgram_func(); program = glCreateProgram();
glAttachShader_func(program, fragShader); glAttachShader(program, fragShader);
glAttachShader_func(program, vertShader); glAttachShader(program, vertShader);
glLinkProgram_func(program); glLinkProgram(program);
CheckLink(program); CheckLink(program);
glUseProgram_func(program); glUseProgram(program);
uTexture2D = glGetUniformLocation_func(program, "shadowTex2D"); uTexture2D = glGetUniformLocation(program, "shadowTex2D");
uTextureRect = glGetUniformLocation_func(program, "shadowTexRect"); uTextureRect = glGetUniformLocation(program, "shadowTexRect");
printf("uTexture2D %d uTextureRect %d\n", uTexture2D, uTextureRect); printf("uTexture2D %d uTextureRect %d\n", uTexture2D, uTextureRect);
if (uTexture2D >= 0) { if (uTexture2D >= 0) {
glUniform1i_func(uTexture2D, 0); /* use texture unit 0 */ glUniform1i(uTexture2D, 0); /* use texture unit 0 */
} }
if (uTextureRect >= 0) { if (uTextureRect >= 0) {
glUniform1i_func(uTextureRect, 1); /* use texture unit 0 */ glUniform1i(uTextureRect, 1); /* use texture unit 0 */
} }
CheckError(__LINE__); CheckError(__LINE__);

View File

@@ -13,10 +13,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <math.h> #include <math.h>
#include <GL/glew.h> #include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glut.h> #include <GL/glut.h>
#include <GL/glext.h>
#include "extfuncs.h"
#include "shaderutil.h" #include "shaderutil.h"
@@ -65,11 +62,11 @@ Cylinder(GLfloat length, GLfloat radius, GLint slices, GLint stacks)
float a = (float) i / (slices - 1) * M_PI * 2.0; float a = (float) i / (slices - 1) * M_PI * 2.0;
float x = radius * cos(a); float x = radius * cos(a);
float y = radius * sin(a); float y = radius * sin(a);
glVertexAttrib1f_func(WeightAttr, w0); glVertexAttrib1f(WeightAttr, w0);
glNormal3f(x, y, 0.0); glNormal3f(x, y, 0.0);
glVertex3f(x, y, z0); glVertex3f(x, y, z0);
glVertexAttrib1f_func(WeightAttr, w0 + dw); glVertexAttrib1f(WeightAttr, w0 + dw);
glNormal3f(x, y, 0.0); glNormal3f(x, y, 0.0);
glVertex3f(x, y, z0 + dz); glVertex3f(x, y, z0 + dz);
} }
@@ -107,8 +104,8 @@ Redisplay(void)
{ {
UpdateMatrices(); UpdateMatrices();
glUniformMatrix4fv_func(uMat0, 1, GL_FALSE, Matrices[0]); glUniformMatrix4fv(uMat0, 1, GL_FALSE, Matrices[0]);
glUniformMatrix4fv_func(uMat1, 1, GL_FALSE, Matrices[1]); glUniformMatrix4fv(uMat1, 1, GL_FALSE, Matrices[1]);
if (WireFrame) if (WireFrame)
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
@@ -149,9 +146,9 @@ Reshape(int width, int height)
static void static void
CleanUp(void) CleanUp(void)
{ {
glDeleteShader_func(fragShader); glDeleteShader(fragShader);
glDeleteShader_func(vertShader); glDeleteShader(vertShader);
glDeleteProgram_func(program); glDeleteProgram(program);
glutDestroyWindow(win); glutDestroyWindow(win);
} }
@@ -222,18 +219,16 @@ Init(void)
if (!ShadersSupported()) if (!ShadersSupported())
exit(1); exit(1);
GetExtensionFuncs();
vertShader = CompileShaderFile(GL_VERTEX_SHADER, VertProgFile); vertShader = CompileShaderFile(GL_VERTEX_SHADER, VertProgFile);
fragShader = CompileShaderFile(GL_FRAGMENT_SHADER, FragProgFile); fragShader = CompileShaderFile(GL_FRAGMENT_SHADER, FragProgFile);
program = LinkShaders(vertShader, fragShader); program = LinkShaders(vertShader, fragShader);
glUseProgram_func(program); glUseProgram(program);
uMat0 = glGetUniformLocation_func(program, "mat0"); uMat0 = glGetUniformLocation(program, "mat0");
uMat1 = glGetUniformLocation_func(program, "mat1"); uMat1 = glGetUniformLocation(program, "mat1");
WeightAttr = glGetAttribLocation_func(program, "weight"); WeightAttr = glGetAttribLocation(program, "weight");
assert(glGetError() == 0); assert(glGetError() == 0);

View File

@@ -12,10 +12,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <math.h> #include <math.h>
#include <GL/glew.h> #include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glut.h> #include <GL/glut.h>
#include <GL/glext.h>
#include "extfuncs.h"
static GLint WinWidth = 300, WinHeight = 300; static GLint WinWidth = 300, WinHeight = 300;
@@ -329,8 +326,6 @@ Init(void)
exit(1); exit(1);
} }
GetExtensionFuncs();
glClearColor(0.3f, 0.3f, 0.3f, 0.0f); glClearColor(0.3f, 0.3f, 0.3f, 0.0f);
printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER)); printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER));

View File

@@ -31,7 +31,6 @@
#include <GL/glew.h> #include <GL/glew.h>
#include "GL/glut.h" #include "GL/glut.h"
#include "readtex.h" #include "readtex.h"
#include "extfuncs.h"
#include "shaderutil.h" #include "shaderutil.h"
static const char *Demo = "texdemo1"; static const char *Demo = "texdemo1";
@@ -98,7 +97,7 @@ draw(void)
/* sphere w/ reflection map */ /* sphere w/ reflection map */
glPushMatrix(); glPushMatrix();
glTranslatef(0, 1, 0); glTranslatef(0, 1, 0);
glUseProgram_func(Program1); glUseProgram(Program1);
/* setup texture matrix */ /* setup texture matrix */
glActiveTexture(GL_TEXTURE0); glActiveTexture(GL_TEXTURE0);
@@ -117,7 +116,7 @@ draw(void)
glPopMatrix(); glPopMatrix();
/* ground */ /* ground */
glUseProgram_func(Program2); glUseProgram(Program2);
glTranslatef(0, -1.0, 0); glTranslatef(0, -1.0, 0);
DrawGround(5); DrawGround(5);
@@ -381,7 +380,7 @@ CreateProgram(const char *vertProgFile, const char *fragProgFile,
fragShader = CompileShaderFile(GL_FRAGMENT_SHADER, fragProgFile); fragShader = CompileShaderFile(GL_FRAGMENT_SHADER, fragProgFile);
program = LinkShaders(vertShader, fragShader); program = LinkShaders(vertShader, fragShader);
glUseProgram_func(program); glUseProgram(program);
InitUniforms(program, uniforms); InitUniforms(program, uniforms);
@@ -408,8 +407,6 @@ Init(GLboolean useImageFiles)
} }
printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER)); printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER));
GetExtensionFuncs();
InitTextures(useImageFiles); InitTextures(useImageFiles);
InitPrograms(); InitPrograms();

View File

@@ -10,10 +10,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <math.h> #include <math.h>
#include <GL/glew.h> #include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glut.h> #include <GL/glut.h>
#include <GL/glext.h>
#include "extfuncs.h"
#include "shaderutil.h" #include "shaderutil.h"
@@ -100,9 +97,9 @@ Reshape(int width, int height)
static void static void
CleanUp(void) CleanUp(void)
{ {
glDeleteShader_func(fragShader); glDeleteShader(fragShader);
glDeleteShader_func(vertShader); glDeleteShader(vertShader);
glDeleteProgram_func(program); glDeleteProgram(program);
glutDestroyWindow(win); glutDestroyWindow(win);
} }
@@ -170,13 +167,11 @@ Init(void)
if (!ShadersSupported()) if (!ShadersSupported())
exit(1); exit(1);
GetExtensionFuncs();
vertShader = CompileShaderFile(GL_VERTEX_SHADER, VertProgFile); vertShader = CompileShaderFile(GL_VERTEX_SHADER, VertProgFile);
fragShader = CompileShaderFile(GL_FRAGMENT_SHADER, FragProgFile); fragShader = CompileShaderFile(GL_FRAGMENT_SHADER, FragProgFile);
program = LinkShaders(vertShader, fragShader); program = LinkShaders(vertShader, fragShader);
glUseProgram_func(program); glUseProgram(program);
InitUniforms(program, Uniforms); InitUniforms(program, Uniforms);

View File

@@ -16,10 +16,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <math.h> #include <math.h>
#include <GL/glew.h> #include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glut.h> #include <GL/glut.h>
#include <GL/glext.h>
#include "extfuncs.h"
#include "shaderutil.h" #include "shaderutil.h"
@@ -86,9 +83,9 @@ Redisplay(void)
RotateVerts(Zrot, 3, TriVerts, v); RotateVerts(Zrot, 3, TriVerts, v);
ComputeBounds(3, v, &xmin, &ymin, &xmax, &ymax); ComputeBounds(3, v, &xmin, &ymin, &xmax, &ymax);
glUniform2fv_func(uv0, 1, v[0]); glUniform2fv(uv0, 1, v[0]);
glUniform2fv_func(uv1, 1, v[1]); glUniform2fv(uv1, 1, v[1]);
glUniform2fv_func(uv2, 1, v[2]); glUniform2fv(uv2, 1, v[2]);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
@@ -133,9 +130,9 @@ Reshape(int width, int height)
static void static void
CleanUp(void) CleanUp(void)
{ {
glDeleteShader_func(fragShader); glDeleteShader(fragShader);
glDeleteShader_func(vertShader); glDeleteShader(vertShader);
glDeleteProgram_func(program); glDeleteProgram(program);
glutDestroyWindow(win); glutDestroyWindow(win);
} }
@@ -197,17 +194,15 @@ Init(void)
if (!ShadersSupported()) if (!ShadersSupported())
exit(1); exit(1);
GetExtensionFuncs();
vertShader = CompileShaderText(GL_VERTEX_SHADER, vertShaderText); vertShader = CompileShaderText(GL_VERTEX_SHADER, vertShaderText);
fragShader = CompileShaderText(GL_FRAGMENT_SHADER, fragShaderText); fragShader = CompileShaderText(GL_FRAGMENT_SHADER, fragShaderText);
program = LinkShaders(vertShader, fragShader); program = LinkShaders(vertShader, fragShader);
glUseProgram_func(program); glUseProgram(program);
uv0 = glGetUniformLocation_func(program, "v0"); uv0 = glGetUniformLocation(program, "v0");
uv1 = glGetUniformLocation_func(program, "v1"); uv1 = glGetUniformLocation(program, "v1");
uv2 = glGetUniformLocation_func(program, "v2"); uv2 = glGetUniformLocation(program, "v2");
printf("Uniforms: %d %d %d\n", uv0, uv1, uv2); printf("Uniforms: %d %d %d\n", uv0, uv1, uv2);
/*assert(glGetError() == 0);*/ /*assert(glGetError() == 0);*/
@@ -217,9 +212,9 @@ Init(void)
printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER)); printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER));
assert(glIsProgram_func(program)); assert(glIsProgram(program));
assert(glIsShader_func(fragShader)); assert(glIsShader(fragShader));
assert(glIsShader_func(vertShader)); assert(glIsShader(vertShader));
glColor3f(1, 0, 0); glColor3f(1, 0, 0);
} }

View File

@@ -13,10 +13,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <math.h> #include <math.h>
#include <GL/glew.h> #include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glut.h> #include <GL/glut.h>
#include <GL/glext.h>
#include "extfuncs.h"
#include "shaderutil.h" #include "shaderutil.h"
@@ -60,11 +57,11 @@ Redisplay(void)
glFrontFace(FrontWinding); glFrontFace(FrontWinding);
if (DetermineFacingInFragProg) { if (DetermineFacingInFragProg) {
glUniform1i_func(u_fragface, 1); glUniform1i(u_fragface, 1);
glDisable(GL_VERTEX_PROGRAM_TWO_SIDE); glDisable(GL_VERTEX_PROGRAM_TWO_SIDE);
} }
else { else {
glUniform1i_func(u_fragface, 0); glUniform1i(u_fragface, 0);
glEnable(GL_VERTEX_PROGRAM_TWO_SIDE); glEnable(GL_VERTEX_PROGRAM_TWO_SIDE);
} }
@@ -76,7 +73,7 @@ Redisplay(void)
/* Draw a tristrip ring */ /* Draw a tristrip ring */
glBegin(GL_TRIANGLE_STRIP); glBegin(GL_TRIANGLE_STRIP);
glColor4fv(Red); glColor4fv(Red);
glSecondaryColor3fv_func(Green); glSecondaryColor3fv(Green);
for (i = 0; i <= sections; i++) { for (i = 0; i <= sections; i++) {
float a = (float) i / (sections) * M_PI * 2.0; float a = (float) i / (sections) * M_PI * 2.0;
float x = radius * cos(a); float x = radius * cos(a);
@@ -126,9 +123,9 @@ Reshape(int width, int height)
static void static void
CleanUp(void) CleanUp(void)
{ {
glDeleteShader_func(fragShader); glDeleteShader(fragShader);
glDeleteShader_func(vertShader); glDeleteShader(vertShader);
glDeleteProgram_func(program); glDeleteProgram(program);
glutDestroyWindow(win); glutDestroyWindow(win);
} }
@@ -230,15 +227,13 @@ Init(void)
if (!ShadersSupported()) if (!ShadersSupported())
exit(1); exit(1);
GetExtensionFuncs();
vertShader = CompileShaderText(GL_VERTEX_SHADER, vertShaderText); vertShader = CompileShaderText(GL_VERTEX_SHADER, vertShaderText);
fragShader = CompileShaderText(GL_FRAGMENT_SHADER, fragShaderText); fragShader = CompileShaderText(GL_FRAGMENT_SHADER, fragShaderText);
program = LinkShaders(vertShader, fragShader); program = LinkShaders(vertShader, fragShader);
glUseProgram_func(program); glUseProgram(program);
u_fragface = glGetUniformLocation_func(program, "fragface"); u_fragface = glGetUniformLocation(program, "fragface");
printf("Uniforms: %d\n", u_fragface); printf("Uniforms: %d\n", u_fragface);
/*assert(glGetError() == 0);*/ /*assert(glGetError() == 0);*/
@@ -247,9 +242,9 @@ Init(void)
printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER)); printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER));
assert(glIsProgram_func(program)); assert(glIsProgram(program));
assert(glIsShader_func(fragShader)); assert(glIsShader(fragShader));
assert(glIsShader_func(vertShader)); assert(glIsShader(vertShader));
glEnable(GL_DEPTH_TEST); glEnable(GL_DEPTH_TEST);

View File

@@ -12,10 +12,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <math.h> #include <math.h>
#include <GL/glew.h> #include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glut.h> #include <GL/glut.h>
#include <GL/glext.h>
#include "extfuncs.h"
#include "shaderutil.h" #include "shaderutil.h"
@@ -59,14 +56,14 @@ Redisplay(void)
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
/* render with vertex shader only */ /* render with vertex shader only */
glUseProgram_func(VertProgram); glUseProgram(VertProgram);
glPushMatrix(); glPushMatrix();
glTranslatef(-1.5, 0, 0); glTranslatef(-1.5, 0, 0);
DrawQuadTex(); DrawQuadTex();
glPopMatrix(); glPopMatrix();
/* render with fragment shader only */ /* render with fragment shader only */
glUseProgram_func(FragProgram); glUseProgram(FragProgram);
glPushMatrix(); glPushMatrix();
glTranslatef(+1.5, 0, 0); glTranslatef(+1.5, 0, 0);
DrawQuadColor(); DrawQuadColor();
@@ -91,10 +88,10 @@ Reshape(int width, int height)
static void static void
CleanUp(void) CleanUp(void)
{ {
glDeleteShader_func(FragShader); glDeleteShader(FragShader);
glDeleteShader_func(VertShader); glDeleteShader(VertShader);
glDeleteProgram_func(VertProgram); glDeleteProgram(VertProgram);
glDeleteProgram_func(FragProgram); glDeleteProgram(FragProgram);
glutDestroyWindow(Win); glutDestroyWindow(Win);
} }
@@ -130,8 +127,6 @@ Init(void)
if (!ShadersSupported()) if (!ShadersSupported())
exit(1); exit(1);
GetExtensionFuncs();
if (FragProgFile) if (FragProgFile)
FragShader = CompileShaderFile(GL_FRAGMENT_SHADER, FragProgFile); FragShader = CompileShaderFile(GL_FRAGMENT_SHADER, FragProgFile);
else else
@@ -150,10 +145,10 @@ Init(void)
printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER)); printf("GL_RENDERER = %s\n",(const char *) glGetString(GL_RENDERER));
assert(glIsProgram_func(VertProgram)); assert(glIsProgram(VertProgram));
assert(glIsProgram_func(FragProgram)); assert(glIsProgram(FragProgram));
assert(glIsShader_func(FragShader)); assert(glIsShader(FragShader));
assert(glIsShader_func(VertShader)); assert(glIsShader(VertShader));
glColor3f(1, 0, 0); glColor3f(1, 0, 0);
} }

View File

@@ -10,10 +10,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <math.h> #include <math.h>
#include <GL/glew.h> #include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glut.h> #include <GL/glut.h>
#include <GL/glext.h>
#include "extfuncs.h"
#include "shaderutil.h" #include "shaderutil.h"
@@ -134,9 +131,9 @@ Reshape(int width, int height)
static void static void
CleanUp(void) CleanUp(void)
{ {
glDeleteShader_func(fragShader); glDeleteShader(fragShader);
glDeleteShader_func(vertShader); glDeleteShader(vertShader);
glDeleteProgram_func(program); glDeleteProgram(program);
glutDestroyWindow(win); glutDestroyWindow(win);
} }
@@ -240,13 +237,11 @@ Init(void)
if (!ShadersSupported()) if (!ShadersSupported())
exit(1); exit(1);
GetExtensionFuncs();
vertShader = CompileShaderText(GL_VERTEX_SHADER, VertShaderText); vertShader = CompileShaderText(GL_VERTEX_SHADER, VertShaderText);
fragShader = CompileShaderText(GL_FRAGMENT_SHADER, FragShaderText); fragShader = CompileShaderText(GL_FRAGMENT_SHADER, FragShaderText);
program = LinkShaders(vertShader, fragShader); program = LinkShaders(vertShader, fragShader);
glUseProgram_func(program); glUseProgram(program);
assert(glGetError() == 0); assert(glGetError() == 0);