From: <cn...@us...> - 2009-05-12 05:02:53
|
Revision: 234 http://hgengine.svn.sourceforge.net/hgengine/?rev=234&view=rev Author: cnlohr Date: 2009-05-12 05:02:45 +0000 (Tue, 12 May 2009) Log Message: ----------- add OGL Extensions manager for windows. Added Paths: ----------- Mercury2/src/OGLExtensions.cpp Mercury2/src/OGLExtensions.h Added: Mercury2/src/OGLExtensions.cpp =================================================================== --- Mercury2/src/OGLExtensions.cpp (rev 0) +++ Mercury2/src/OGLExtensions.cpp 2009-05-12 05:02:45 UTC (rev 234) @@ -0,0 +1,74 @@ +#include <GLHeaders.h> +#include <OGLExtensions.h> + +//To be removed and switched to LOG? +#include <stdio.h> + +PFNGLBINDBUFFERARBPROC glBindBufferARB; +PFNGLDELETEBUFFERSARBPROC glDeleteBuffersARB; + +PFNGLACTIVETEXTUREPROC glActiveTexture; +PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB; + +PFNGLGENBUFFERSARBPROC glGenBuffersARB; +PFNGLBUFFERDATAARBPROC glBufferDataARB; +PFNGLDRAWRANGEELEMENTSPROC glDrawRangeElements; + + + +PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgramObjectARB; +PFNGLDELETEOBJECTARBPROC glDeleteObjectARB; +PFNGLDETACHOBJECTARBPROC glDetachObjectARB; +PFNGLGETATTACHEDOBJECTSARBPROC glGetAttachedObjectsARB; +PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB; +PFNGLCREATESHADEROBJECTARBPROC glCreateShaderObjectARB ; +PFNGLSHADERSOURCEARBPROC glShaderSourceARB; +PFNGLCOMPILESHADERARBPROC glCompileShaderARB; +PFNGLGETOBJECTPARAMETERIVARBPROC glGetObjectParameterivARB; +PFNGLATTACHOBJECTARBPROC glAttachObjectARB; +PFNGLGETINFOLOGARBPROC glGetInfoLogARB; +PFNGLLINKPROGRAMARBPROC glLinkProgramARB; +PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocationARB; +PFNGLPROGRAMPARAMETERIEXTPROC glProgramParameteriEXT; +PFNGLGETACTIVEUNIFORMARBPROC glGetActiveUniformARB; +PFNGLUNIFORM1IARBPROC glUniform1iARB; +PFNGLUNIFORM4FVARBPROC glUniform4fvARB; + + + +#define EXTENSION( proc, name ) \ + name = (proc)wglGetProcAddress( #name ); \ + if( !name ) \ + { \ + fprintf( stderr, "Error. Could not load extensions: %s\n", #name ); \ + } + +void SetupOGLExtensions() +{ +EXTENSION( PFNGLBINDBUFFERARBPROC, glBindBufferARB ); +EXTENSION( PFNGLDELETEBUFFERSARBPROC,glDeleteBuffersARB ); +EXTENSION( PFNGLACTIVETEXTUREPROC,glActiveTexture ); +EXTENSION( PFNGLCLIENTACTIVETEXTUREARBPROC,glClientActiveTextureARB ); +EXTENSION( PFNGLGENBUFFERSARBPROC,glGenBuffersARB ); +EXTENSION( PFNGLBUFFERDATAARBPROC,glBufferDataARB ); +EXTENSION( PFNGLDRAWRANGEELEMENTSPROC,glDrawRangeElements ); + + +EXTENSION( PFNGLCREATEPROGRAMOBJECTARBPROC,glCreateProgramObjectARB ); +EXTENSION( PFNGLDELETEOBJECTARBPROC,glDeleteObjectARB ); +EXTENSION( PFNGLDETACHOBJECTARBPROC,glDetachObjectARB ); +EXTENSION( PFNGLGETATTACHEDOBJECTSARBPROC,glGetAttachedObjectsARB ); +EXTENSION( PFNGLUSEPROGRAMOBJECTARBPROC,glUseProgramObjectARB ); +EXTENSION( PFNGLCREATESHADEROBJECTARBPROC,glCreateShaderObjectARB ); +EXTENSION( PFNGLSHADERSOURCEARBPROC,glShaderSourceARB ); +EXTENSION( PFNGLCOMPILESHADERARBPROC,glCompileShaderARB ); +EXTENSION( PFNGLGETOBJECTPARAMETERIVARBPROC,glGetObjectParameterivARB ); +EXTENSION( PFNGLATTACHOBJECTARBPROC,glAttachObjectARB ); +EXTENSION( PFNGLGETINFOLOGARBPROC,glGetInfoLogARB ); +EXTENSION( PFNGLLINKPROGRAMARBPROC,glLinkProgramARB ); +EXTENSION( PFNGLGETUNIFORMLOCATIONARBPROC,glGetUniformLocationARB ); +EXTENSION( PFNGLPROGRAMPARAMETERIEXTPROC,glProgramParameteriEXT ); +EXTENSION( PFNGLGETACTIVEUNIFORMARBPROC,glGetActiveUniformARB ); +EXTENSION( PFNGLUNIFORM1IARBPROC,glUniform1iARB ); +EXTENSION( PFNGLUNIFORM4FVARBPROC,glUniform4fvARB ); +} Added: Mercury2/src/OGLExtensions.h =================================================================== --- Mercury2/src/OGLExtensions.h (rev 0) +++ Mercury2/src/OGLExtensions.h 2009-05-12 05:02:45 UTC (rev 234) @@ -0,0 +1,34 @@ +#ifndef _OGL_EXTENSIONS_H + +#include <glext.h> + +extern PFNGLBINDBUFFERARBPROC glBindBufferARB; +extern PFNGLDELETEBUFFERSARBPROC glDeleteBuffersARB; +extern PFNGLACTIVETEXTUREPROC glActiveTexture; +extern PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB; +extern PFNGLGENBUFFERSARBPROC glGenBuffersARB; +extern PFNGLBUFFERDATAARBPROC glBufferDataARB; +extern PFNGLDRAWRANGEELEMENTSPROC glDrawRangeElements; + +//glsl +extern PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgramObjectARB; +extern PFNGLDELETEOBJECTARBPROC glDeleteObjectARB; +extern PFNGLDETACHOBJECTARBPROC glDetachObjectARB; +extern PFNGLGETATTACHEDOBJECTSARBPROC glGetAttachedObjectsARB; +extern PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB; +extern PFNGLCREATESHADEROBJECTARBPROC glCreateShaderObjectARB ; +extern PFNGLSHADERSOURCEARBPROC glShaderSourceARB; +extern PFNGLCOMPILESHADERARBPROC glCompileShaderARB; +extern PFNGLGETOBJECTPARAMETERIVARBPROC glGetObjectParameterivARB; +extern PFNGLATTACHOBJECTARBPROC glAttachObjectARB; +extern PFNGLGETINFOLOGARBPROC glGetInfoLogARB; +extern PFNGLLINKPROGRAMARBPROC glLinkProgramARB; +extern PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocationARB; +extern PFNGLPROGRAMPARAMETERIEXTPROC glProgramParameteriEXT; +extern PFNGLGETACTIVEUNIFORMARBPROC glGetActiveUniformARB; +extern PFNGLUNIFORM1IARBPROC glUniform1iARB; +extern PFNGLUNIFORM4FVARBPROC glUniform4fvARB; + +void SetupOGLExtensions(); + +#endif \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |