progs: Port vp-tris to glew.

There was some wglGetProcAddress calls to setup extensions already, but
including glext caused many compilation errors in MinGW.
This commit is contained in:
José Fonseca 2009-01-23 16:24:43 +00:00
parent b0d0e53a54
commit 528a0a885e
4 changed files with 17 additions and 30 deletions

View File

@ -1,4 +1,5 @@
SConscript([
'demos/SConscript',
'trivial/SConscript',
'vp/SConscript',
])

View File

@ -8,7 +8,7 @@ TOP = ../..
include $(TOP)/configs/current
LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS)
LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLEW_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS)
SOURCES = \
vp-tris.c

13
progs/vp/SConscript Normal file
View File

@ -0,0 +1,13 @@
Import('env')
if not env['GLUT']:
Return()
env = env.Clone()
env.Prepend(LIBS = ['$GLUT_LIB'])
env.Program(
target = 'vp-tris',
source = ['vp-tris.c'],
)

View File

@ -9,25 +9,11 @@
#ifndef WIN32
#include <unistd.h>
#include <signal.h>
#define GL_GLEXT_PROTOTYPES
#else
#include <GL/glext.h>
#endif
#include <GL/glew.h>
#include <GL/glut.h>
#ifdef WIN32
static PFNGLBINDPROGRAMARBPROC glBindProgramARB = NULL;
static PFNGLGENPROGRAMSARBPROC glGenProgramsARB = NULL;
static PFNGLPROGRAMSTRINGARBPROC glProgramStringARB = NULL;
static PFNGLISPROGRAMARBPROC glIsProgramARB = NULL;
static PFNGLBINDPROGRAMNVPROC glBindProgramNV = NULL;
static PFNGLGENPROGRAMSNVPROC glGenProgramsNV = NULL;
static PFNGLLOADPROGRAMNVPROC glLoadProgramNV = NULL;
static PFNGLISPROGRAMNVPROC glIsProgramNV = NULL;
#endif
static const char *filename = NULL;
static GLuint nr_steps = 4;
@ -115,13 +101,6 @@ static void Init( void )
fprintf(stderr, "%.*s\n", sz, buf);
if (strncmp( buf, "!!VP", 4 ) == 0) {
#ifdef WIN32
glBindProgramNV = (PFNGLBINDPROGRAMNVPROC) wglGetProcAddress( "glBindProgramNV" );
glGenProgramsNV = (PFNGLGENPROGRAMSNVPROC) wglGetProcAddress( "glGenProgramsNV" );
glLoadProgramNV = (PFNGLLOADPROGRAMNVPROC) wglGetProcAddress( "glLoadProgramNV" );
glIsProgramNV = (PFNGLISPROGRAMNVPROC) wglGetProcAddress( "glIsProgramNV" );
#endif
glEnable( GL_VERTEX_PROGRAM_NV );
glGenProgramsNV( 1, &prognum );
glBindProgramNV( GL_VERTEX_PROGRAM_NV, prognum );
@ -129,13 +108,6 @@ static void Init( void )
assert( glIsProgramNV( prognum ) );
}
else {
#ifdef WIN32
glBindProgramARB = (PFNGLBINDPROGRAMARBPROC) wglGetProcAddress( "glBindProgramARB" );
glGenProgramsARB = (PFNGLGENPROGRAMSARBPROC) wglGetProcAddress( "glGenProgramsARB" );
glProgramStringARB = (PFNGLPROGRAMSTRINGARBPROC) wglGetProcAddress( "glProgramStringARB" );
glIsProgramARB = (PFNGLISPROGRAMARBPROC) wglGetProcAddress( "glIsProgramARB" );
#endif
glEnable(GL_VERTEX_PROGRAM_ARB);
glGenProgramsARB(1, &prognum);
@ -288,6 +260,7 @@ int main( int argc, char *argv[] )
glutInitWindowSize( 250, 250 );
glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE | GLUT_DEPTH );
glutCreateWindow(argv[argc-1]);
glewInit();
glutReshapeFunc( Reshape );
glutKeyboardFunc( Key );
glutDisplayFunc( Display );