|
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.
|