Code Search for Developers
 
 
  

extensions.cpp from NeoEngineNG at Krugle


Show extensions.cpp syntax highlighted

/***************************************************************************
                  extensions.cpp  -  Supported OpenGL extensions
                             -------------------
    begin                : Tue Apr 1 2003
    copyright            : (C) 2003 by Reality Rift Studios
    email                : mattias@realityrift.com
 ***************************************************************************

 The contents of this file are subject to the Mozilla Public License Version
 1.1 (the "License"); you may not use this file except in compliance with
 the License. You may obtain a copy of the License at 
 http://www.mozilla.org/MPL/

 Software distributed under the License is distributed on an "AS IS" basis,
 WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 for the specific language governing rights and limitations under the
 License.

 The Original Code is the NeoEngine, NeoDevOpenGL, extensions.cpp

 The Initial Developer of the Original Code is Mattias Jansson.
 Portions created by Mattias Jansson are Copyright (C) 2003
 Reality Rift Studios. All Rights Reserved.

 ***************************************************************************/

#include "extensions.h"

#include <neoengine/logstream.h>

using namespace std;
using namespace NeoEngine;


extern "C"
{


void NEOGLAPIENTRY neoglLoadMatrixfNoTranspose( GLfloat *pfMat )
{
	static GLfloat afMat[16];

	afMat[0]  = pfMat[0];
	afMat[1]  = pfMat[4];
	afMat[2]  = pfMat[8];
	afMat[3]  = pfMat[12];
	afMat[4]  = pfMat[1];
	afMat[5]  = pfMat[5];
	afMat[6]  = pfMat[9];
	afMat[7]  = pfMat[13];
	afMat[8]  = pfMat[2];
	afMat[9]  = pfMat[6];
	afMat[10] = pfMat[10];
	afMat[11] = pfMat[14];
	afMat[12] = pfMat[3];
	afMat[13] = pfMat[7];
	afMat[14] = pfMat[11];
	afMat[15] = pfMat[15];

	glLoadMatrixf( afMat );
}


void NEOGLAPIENTRY neoglMultMatrixfNoTranspose( GLfloat *pfMat )
{
	static GLfloat afMat[16];

	afMat[0]  = pfMat[0];
	afMat[1]  = pfMat[4];
	afMat[2]  = pfMat[8];
	afMat[3]  = pfMat[12];
	afMat[4]  = pfMat[1];
	afMat[5]  = pfMat[5];
	afMat[6]  = pfMat[9];
	afMat[7]  = pfMat[13];
	afMat[8]  = pfMat[2];
	afMat[9]  = pfMat[6];
	afMat[10] = pfMat[10];
	afMat[11] = pfMat[14];
	afMat[12] = pfMat[3];
	afMat[13] = pfMat[7];
	afMat[14] = pfMat[11];
	afMat[15] = pfMat[15];

	glMultMatrixf( afMat );
}


}


bool neoglCheckError( const std::string &rstrPrefix )
{
	GLenum eError = glGetError();

	if( eError == GL_NO_ERROR )
		return false;

	neolog << LogLevel( ERROR ) << rstrPrefix;

	switch( eError )
	{
		case GL_INVALID_ENUM:
			neolog << "GL_INVALID_ENUM";
			break;

		case GL_INVALID_VALUE:
			neolog << "GL_INVALID_VALUE";
			break;

		case GL_INVALID_OPERATION:
			neolog << "GL_INVALID_OPERATION";
			break;

		case GL_STACK_OVERFLOW:
			neolog << "GL_STACK_OVERFLOW";
			break;

		case GL_STACK_UNDERFLOW:
			neolog << "GL_STACK_UNDERFLOW";
			break;

		case GL_OUT_OF_MEMORY:
			neolog << "GL_OUT_OF_MEMORY";
			break;

		default:
			neolog << "UNKNOWN";
			break;
	}

	neolog << endl;

	return true;
}



#ifdef __APPLE__


#else

fpglActiveTextureARBProc                       fpneoglActiveTextureARB           = 0;
fpglClientActiveTextureARBProc                 fpneoglClientActiveTextureARB     = 0;

#endif


#ifdef WIN32

/* WGL_EXT_extensions_string */
fpwglGetExtensionsStringEXTProc                fpneowglGetExtensionsStringEXT    = 0;

/* WGL_ARB_pixel_format */

fpwglGetPixelFormatAttribivARBProc             fpneowglGetPixelFormatAttribivARB = 0;
fpwglGetPixelFormatAttribfvARBProc             fpneowglGetPixelFormatAttribfvARB = 0;
fpwglChoosePixelFormatARBProc                  fpneowglChoosePixelFormatARB      = 0;

/* WGL_ARB_pbuffer */

fpwglCreatePbufferARBProc                      fpneowglCreatePbufferARB          = 0;
fpwglGetPbufferDCARBProc                       fpneowglGetPbufferDCARB           = 0;
fpwglReleasePbufferDCARBProc                   fpneowglReleasePbufferDCARB       = 0;
fpwglDestroyPbufferARBProc                     fpneowglDestroyPbufferARB         = 0;
fpwglQueryPbufferARBProc                       fpneowglQueryPbufferARB           = 0;

/* WGL_ARB_render_texture */

fpwglBindTexImageARBProc                       fpneowglBindTexImageARB           = 0;
fpwglReleaseTexImageARBProc                    fpneowglReleaseTexImageARB        = 0;
fpwglSetPbufferAttribARBProc                   fpneowglSetPbufferAttribARB       = 0;


#endif // WIN32

/* GL_ARB_transpose_matrix */
fpglLoadMatrixfARBProc                         fpneoglLoadMatrixfARB             = neoglLoadMatrixfNoTranspose;
fpglMultMatrixfARBProc                         fpneoglMultMatrixfARB             = neoglMultMatrixfNoTranspose;

/*! GL_ATI_vertex_array_object */
fpglNewObjectBufferATI                         fpneoglNewObjectBufferATI         = 0;
fpglUpdateObjectBufferATI                      fpneoglUpdateObjectBufferATI      = 0;
fpglFreeObjectBufferATI                        fpneoglFreeObjectBufferATI        = 0;
fpglArrayObjectATI                             fpneoglArrayObjectATI             = 0;

/*! GL_ATI_vertex_attrib_array_object */
PFNGLVERTEXATTRIBARRAYOBJECTATIPROC            fpneoglVertexAttribArrayObjectATI = 0;

/*! GL_ARB_vertex_buffer_object */
fpglBindBufferARB                              fpneoglBindBufferARB              = 0;
fpglDeleteBuffersARB                           fpneoglDeleteBuffersARB           = 0;
fpglGenBuffersARB                              fpneoglGenBuffersARB              = 0;
fpglIsBufferARB                                fpneoglIsBufferARB                = 0;
fpglBufferDataARB                              fpneoglBufferDataARB              = 0;
fpglBufferSubDataARB                           fpneoglBufferSubDataARB           = 0;
fpglGetBufferSubDataARB                        fpneoglGetBufferSubDataARB        = 0;
fpglMapBufferARB                               fpneoglMapBufferARB               = 0;
fpglUnmapBufferARB                             fpneoglUnmapBufferARB             = 0;
fpglGetBufferParameterivARB                    fpneoglGetBufferParameterivARB    = 0;
fpglGetBufferPointervARB                       fpneoglGetBufferPointervARB       = 0;

/*! GL_ARB_vertex_program */
fpglVertexAttribPointerARB                     fpneoglVertexAttribPointerARB        = 0;
fpglEnableVertexAttribArrayARB                 fpneoglEnableVertexAttribArrayARB    = 0;
fpglDisableVertexAttribArrayARB                fpneoglDisableVertexAttribArrayARB   = 0;
fpglProgramStringARB                           fpneoglProgramStringARB              = 0;
fpglBindProgramARB                             fpneoglBindProgramARB                = 0;
fpglDeleteProgramsARB                          fpneoglDeleteProgramsARB             = 0;
fpglGenProgramsARB                             fpneoglGenProgramsARB                = 0;
fpglProgramEnvParameter4fARB                   fpneoglProgramEnvParameter4fARB      = 0;
fpglProgramEnvParameter4fvARB                  fpneoglProgramEnvParameter4fvARB     = 0;
fpglProgramLocalParameter4fARB                 fpneoglProgramLocalParameter4fARB    = 0;
fpglProgramLocalParameter4fvARB                fpneoglProgramLocalParameter4fvARB   = 0;
fpglGetProgramivARB                            fpneoglGetProgramivARB               = 0;

/*! GL_ATI_fragment_shader */
fpglGenFragmentShadersATI                      fpneoglGenFragmentShadersATI         = 0;
fpglBindFragmentShaderATI                      fpneoglBindFragmentShaderATI         = 0;
fpglDeleteFragmentShaderATI                    fpneoglDeleteFragmentShaderATI       = 0;
fpglBeginFragmentShaderATI                     fpneoglBeginFragmentShaderATI        = 0;
fpglEndFragmentShaderATI                       fpneoglEndFragmentShaderATI          = 0;
fpglPassTexCoordATI                            fpneoglPassTexCoordATI               = 0;
fpglSampleMapATI                               fpneoglSampleMapATI                  = 0;
fpglColorFragmentOp1ATI                        fpneoglColorFragmentOp1ATI           = 0;
fpglColorFragmentOp2ATI                        fpneoglColorFragmentOp2ATI           = 0;
fpglColorFragmentOp3ATI                        fpneoglColorFragmentOp3ATI           = 0;
fpglAlphaFragmentOp1ATI                        fpneoglAlphaFragmentOp1ATI           = 0;
fpglAlphaFragmentOp2ATI                        fpneoglAlphaFragmentOp2ATI           = 0;
fpglAlphaFragmentOp3ATI                        fpneoglAlphaFragmentOp3ATI           = 0;
fpglSetFragmentShaderConstantATI               fpneoglSetFragmentShaderConstantATI  = 0;


/*! GL_NV_register_combiners */
fpglCombinerParameterfvNV                      fpneoglCombinerParameterfvNV = 0;
fpglCombinerParameterfNV                       fpneoglCombinerParameterfNV  = 0;
fpglCombinerParameterivNV                      fpneoglCombinerParameterivNV = 0;
fpglCombinerParameteriNV                       fpneoglCombinerParameteriNV  = 0;
fpglCombinerInputNV                            fpneoglCombinerInputNV       = 0;
fpglCombinerOutputNV                           fpneoglCombinerOutputNV      = 0;
fpglFinalCombinerInputNV                       fpneoglFinalCombinerInputNV  = 0;


/*! GL_NV_register_combiners2 */
fpglCombinerStageParameterfvNV                 fpneoglCombinerStageParameterfvNV = 0;


/*! GL_NV_vertex_program */
fpglVertexAttribPointerNV                      fpneoglVertexAttribPointerNV       = 0;


/*! GL_ARB_shader_objects */
fpglDeleteObjectARB                            fpneoglDeleteObjectARB         = 0;
fpglGetHandleARB                               fpneoglGetHandleARB            = 0;
fpglDetachObjectARB                            fpneoglDetachObjectARB         = 0;
fpglCreateShaderObjectARB                      fpneoglCreateShaderObjectARB   = 0;
fpglShaderSourceARB                            fpneoglShaderSourceARB         = 0;
fpglCompileShaderARB                           fpneoglCompileShaderARB        = 0;
fpglCreateProgramObjectARB                     fpneoglCreateProgramObjectARB  = 0;
fpglAttachObjectARB                            fpneoglAttachObjectARB         = 0;
fpglLinkProgramARB                             fpneoglLinkProgramARB          = 0;
fpglUseProgramObjectARB                        fpneoglUseProgramObjectARB     = 0;
fpglValidateProgramARB                         fpneoglValidateProgramARB      = 0;
fpglUniform1fARB                               fpneoglUniform1fARB            = 0;
fpglUniform2fARB                               fpneoglUniform2fARB            = 0;
fpglUniform3fARB                               fpneoglUniform3fARB            = 0;
fpglUniform4fARB                               fpneoglUniform4fARB            = 0;
fpglUniform1iARB                               fpneoglUniform1iARB            = 0;
fpglUniform2iARB                               fpneoglUniform2iARB            = 0;
fpglUniform3iARB                               fpneoglUniform3iARB            = 0;
fpglUniform4iARB                               fpneoglUniform4iARB            = 0;
fpglUniform1fvARB                              fpneoglUniform1fvARB           = 0;
fpglUniform2fvARB                              fpneoglUniform2fvARB           = 0;
fpglUniform3fvARB                              fpneoglUniform3fvARB           = 0;
fpglUniform4fvARB                              fpneoglUniform4fvARB           = 0;
fpglUniform1ivARB                              fpneoglUniform1ivARB           = 0;
fpglUniform2ivARB                              fpneoglUniform2ivARB           = 0;
fpglUniform3ivARB                              fpneoglUniform3ivARB           = 0;
fpglUniform4ivARB                              fpneoglUniform4ivARB           = 0;
fpglUniformMatrix2fvARB                        fpneoglUniformMatrix2fvARB     = 0;
fpglUniformMatrix3fvARB                        fpneoglUniformMatrix3fvARB     = 0;
fpglUniformMatrix4fvARB                        fpneoglUniformMatrix4fvARB     = 0;
fpglGetObjectParameterfvARB                    fpneoglGetObjectParameterfvARB = 0;
fpglGetObjectParameterivARB                    fpneoglGetObjectParameterivARB = 0;
fpglGetInfoLogARB                              fpneoglGetInfoLogARB           = 0;
fpglGetAttachedObjectsARB                      fpneoglGetAttachedObjectsARB   = 0;
fpglGetUniformLocationARB                      fpneoglGetUniformLocationARB   = 0;
fpglGetActiveUniformARB                        fpneoglGetActiveUniformARB     = 0;
fpglGetUniformfvARB                            fpneoglGetUniformfvARB         = 0;
fpglGetUniformivARB                            fpneoglGetUniformivARB         = 0;
fpglGetShaderSourceARB                         fpneoglGetShaderSourceARB      = 0;


/*! GL_ARB_vertex_shader */
fpglVertexAttrib1fARB                                 fpneoglVertexAttrib1fARB = 0;
fpglVertexAttrib1sARB                                 fpneoglVertexAttrib1sARB = 0;
fpglVertexAttrib1dARB                                 fpneoglVertexAttrib1dARB = 0;
fpglVertexAttrib2fARB                                 fpneoglVertexAttrib2fARB = 0;
fpglVertexAttrib2sARB                                 fpneoglVertexAttrib2sARB = 0;
fpglVertexAttrib2dARB                                 fpneoglVertexAttrib2dARB = 0;
fpglVertexAttrib3fARB                                 fpneoglVertexAttrib3fARB = 0;
fpglVertexAttrib3sARB                                 fpneoglVertexAttrib3sARB = 0;
fpglVertexAttrib3dARB                                 fpneoglVertexAttrib3dARB = 0;
fpglVertexAttrib4fARB                                 fpneoglVertexAttrib4fARB = 0;
fpglVertexAttrib4sARB                                 fpneoglVertexAttrib4sARB = 0;
fpglVertexAttrib4dARB                                 fpneoglVertexAttrib4dARB = 0;
fpglVertexAttrib4NubARB                               fpneoglVertexAttrib4NubARB = 0;

fpglVertexAttrib1fvARB                                fpneoglVertexAttrib1fvARB = 0;
fpglVertexAttrib1svARB                                fpneoglVertexAttrib1svARB = 0;
fpglVertexAttrib1dvARB                                fpneoglVertexAttrib1dvARB = 0;
fpglVertexAttrib2fvARB                                fpneoglVertexAttrib2fvARB = 0;
fpglVertexAttrib2svARB                                fpneoglVertexAttrib2svARB = 0;
fpglVertexAttrib2dvARB                                fpneoglVertexAttrib2dvARB = 0;
fpglVertexAttrib3fvARB                                fpneoglVertexAttrib3fvARB = 0;
fpglVertexAttrib3svARB                                fpneoglVertexAttrib3svARB = 0;
fpglVertexAttrib3dvARB                                fpneoglVertexAttrib3dvARB = 0;
fpglVertexAttrib4fvARB                                fpneoglVertexAttrib4fvARB = 0;
fpglVertexAttrib4svARB                                fpneoglVertexAttrib4svARB = 0;
fpglVertexAttrib4dvARB                                fpneoglVertexAttrib4dvARB = 0;
fpglVertexAttrib4ivARB                                fpneoglVertexAttrib4ivARB = 0;
fpglVertexAttrib4bvARB                                fpneoglVertexAttrib4bvARB = 0;

fpglVertexAttrib4ubvARB                               fpneoglVertexAttrib4ubvARB = 0;
fpglVertexAttrib4usvARB                               fpneoglVertexAttrib4usvARB = 0;
fpglVertexAttrib4uivARB                               fpneoglVertexAttrib4uivARB = 0;

fpglVertexAttrib4NbvARB                               fpneoglVertexAttrib4NbvARB = 0;
fpglVertexAttrib4NsvARB                               fpneoglVertexAttrib4NsvARB = 0;
fpglVertexAttrib4NivARB                               fpneoglVertexAttrib4NivARB = 0;
fpglVertexAttrib4NubvARB                              fpneoglVertexAttrib4NubvARB = 0;
fpglVertexAttrib4NusvARB                              fpneoglVertexAttrib4NusvARB = 0;
fpglVertexAttrib4NuivARB                              fpneoglVertexAttrib4NuivARB = 0;

//fpglVertexAttribPointerARB                            fpneoglVertexAttribPointerARB = 0;

//fpglEnableVertexAttribArrayARB                        fpneoglEnableVertexAttribArrayARB = 0;
//fpglDisableVertexAttribArrayARB                       fpneoglDisableVertexAttribArrayARB = 0;

fpglBindAttribLocationARB                             fpneoglBindAttribLocationARB = 0;

fpglGetActiveAttribARB                                fpneoglGetActiveAttribARB = 0;

fpglGetAttribLocationARB                              fpneoglGetAttribLocationARB = 0;

fpglGetVertexAttribdvARB                              fpneoglGetVertexAttribdvARB = 0;
fpglGetVertexAttribfvARB                              fpneoglGetVertexAttribfvARB = 0;
fpglGetVertexAttribivARB                              fpneoglGetVertexAttribivARB = 0;
fpglGetVertexAttribPointervARB                        fpneoglGetVertexAttribPointervARB = 0;


/*! GL_EXT_fog_coord */
fpglFogCoordfEXTProc                                  fpneoglFogCoordfEXT = 0;
fpglFogCoorddEXTProc                                  fpneoglFogCoorddEXT = 0;
fpglFogCoordfvEXTProc                                 fpneoglFogCoordfvEXT = 0;
fpglFogCoorddvEXTProc                                 fpneoglFogCoorddvEXT = 0;
fpglFogCoordPointerEXTProc                            fpneoglFogCoordPointerEXT = 0;


/*! GL_ARB_point_parameters */
fpglPointParameterfARB                                fpneoglPointParameterfARB          = 0;
fpglPointParameterfvARB                               fpneoglPointParameterfvARB         = 0;

/*! Frame Buffer Object Extension */
fpglIsRenderbufferEXT						fpneoglIsRenderbufferEXT = 0;
fpglBindRenderbufferEXT						fpneoglBindRenderbufferEXT = 0;				
fpglDeleteRenderbuffersEXT					fpneoglDeleteRenderbuffersEXT = 0;			
fpglGenRenderbuffersEXT						fpneoglGenRenderbuffersEXT = 0;			
fpglRenderbufferStorageEXT					fpneoglRenderbufferStorageEXT = 0;		
fpglGetRenderbufferParameterivEXT			fpneoglGetRenderbufferParameterivEXT = 0;
fpglIsFramebufferEXT						fpneoglIsFramebufferEXT = 0;			
fpglBindFramebufferEXT						fpneoglBindFramebufferEXT = 0;				
fpglDeleteFramebuffersEXT					fpneoglDeleteFramebuffersEXT = 0;			
fpglGenFramebuffersEXT						fpneoglGenFramebuffersEXT = 0;				
fpglCheckFramebufferStatusEXT				fpneoglCheckFramebufferStatusEXT = 0;		
fpglFramebufferTexture1DEXT					fpneoglFramebufferTexture1DEXT = 0;			
fpglFramebufferTexture2DEXT					fpneoglFramebufferTexture2DEXT = 0;			
fpglFramebufferTexture3DEXT					fpneoglFramebufferTexture3DEXT = 0;			
fpglFramebufferRenderbufferEXT				fpneoglFramebufferRenderbufferEXT = 0;		
fpglGetFramebufferAttachmentParameterivEXT	fpneoglGetFramebufferAttachmentParameterivEXT = 0;
fpglGenerateMipmapEXT						fpneoglGenerateMipmapEXT = 0;				
fpglDrawBuffersEXT							fpneoglDrawBuffersEXT = 0;

// ARB occlusion query
fpglGenQueriesARB							fpneoglGenQueriesARB = 0;	
fpglDeleteQueriesARB						fpneoglDeleteQueriesARB = 0;	
fpglIsQueryARB								fpneoglIsQueryARB = 0;	
fpglBeginQueryARB							fpneoglBeginQueryARB = 0;	
fpglEndQueryARB								fpneoglEndQueryARB = 0;	
fpglGetQueryivARB							fpneoglGetQueryivARB = 0;	
fpglGetQueryObjectivARB						fpneoglGetQueryObjectivARB = 0;	
fpglGetQueryObjectuivARB					fpneoglGetQueryObjectuivARB = 0;	

//Geometry shader
fpglProgramParameteriEXT					fpneoglProgramParameteriEXT			= 0;
fpglFramebufferTextureEXT					fpneoglFramebufferTextureEXT		= 0;
fpglFramebufferTextureLayerEXT				fpneoglFramebufferTextureLayerEXT	= 0;
fpglFramebufferTextureFaceEXT				fpneoglFramebufferTextureFaceEXT	= 0;



See more files for this project here

NeoEngineNG

NeoenEngine NG (Next Generation) is the evolution of neoengine one,it\'s a different development from NeoEngine2, it\'s a direct inherits from NeoEngine one.\n

Project homepage: http://sourceforge.net/projects/neoengineng
Programming language(s): C,C++
License: other

  glew/
    bin/
      glew32.dll
      glewinfo.exe
      visualinfo.exe
    doc/
      advanced.html
      basic.html
      credits.html
      glew.css
      glew.html
      glew.png
      glx.txt
      glxew.html
      gpl.txt
      index.html
      install.html
      log.html
      new.png
      ogl_sm.jpg
      sgi.txt
      wglew.html
    include/
      GL/
    lib/
      glew32.lib
      glew32s.lib
  Makefile.am
  SConscript
  base.h
  begin.cpp
  buffermanager.cpp
  buffermanager.h
  bufferregion.cpp
  bufferregion.h
  callback.cpp
  clear.cpp
  close.cpp
  config.cpp
  device.cpp
  device.h
  end.cpp
  execute.cpp
  extensions.cpp
  extensions.h
  flip.cpp
  framebuffertarget.cpp
  framebuffertarget.h
  glext.h
  glue.cpp
  glxext.h
  initialize.cpp
  input.cpp
  light.cpp
  link.h
  mouse.cpp
  neodevopengl-static.dev
  neodevopengl.cbp
  neodevopengl.depend
  neodevopengl.dev
  neodevopengl.dsp
  neodevopengl.layout
  neodevopengl.vcproj
  op.h
  open.cpp
  pixelbuffer.cpp
  pixelbuffer.h
  pixelbuffertarget.cpp
  pixelbuffertarget.h
  polygonbuffer.cpp
  polygonstripbuffer.cpp
  program-glsl.cpp
  program-glsl.h
  projection.cpp
  query.cpp
  render.cpp
  renderqueue.cpp
  renderqueue.h
  rendertarget.cpp
  rendertarget.h
  resize.cpp
  shader.cpp
  shader.h
  shadowmap.cpp
  shadowmap.h
  shutdown.cpp
  statistics.cpp
  statistics.h
  stencilbuffer.cpp
  texture.cpp
  texture.h
  textureunit.cpp
  textureunit.h
  vertexbuffer-glsl.cpp
  vertexbuffer-glsl.h
  vertexbuffer.cpp
  vertexbuffer.h
  vertexbuffermanager-glsl.cpp
  vertexbuffermanager-glsl.h
  vertexbuffermanager-nobs.cpp
  vertexbuffermanager-nobs.h
  vertexbuffermanager.cpp
  vertexbuffermanager.h
  viewport.cpp
  wglext.h
  zbufferstate.cpp
  zbufferstate.h