# HG changeset patch # User aquiles # Date 1274990264 -7200 # Node ID 82aa1534302b74d5b57f55855a19d9f8c82cba41 # Parent 40334856360de4c68f4f1d0efb9231defdf50363 Bloom patch for non NV cards on OpenGL diff -r 40334856360d -r 82aa1534302b code/nel/src/3d/driver/opengl/driver_opengl.cpp --- a/code/nel/src/3d/driver/opengl/driver_opengl.cpp Thu May 27 19:07:17 2010 +0200 +++ b/code/nel/src/3d/driver/opengl/driver_opengl.cpp Thu May 27 21:57:44 2010 +0200 @@ -1273,7 +1273,7 @@ _UserLightEnable[i]= false; // init _DriverGLStates - _DriverGLStates.init(_Extensions.ARBTextureCubeMap, _Extensions.NVTextureRectangle, _MaxDriverLight); + _DriverGLStates.init(_Extensions.ARBTextureCubeMap, (_Extensions.NVTextureRectangle || _Extensions.EXTTextureRectangle), _MaxDriverLight); // Init OpenGL/Driver defaults. @@ -4158,7 +4158,8 @@ bool CDriverGL::supportTextureRectangle() const { H_AUTO_OGL(CDriverGL_supportTextureRectangle) - return _Extensions.NVTextureRectangle; + return (_Extensions.NVTextureRectangle || + _Extensions.EXTTextureRectangle); } // *************************************************************************** diff -r 40334856360d -r 82aa1534302b code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp --- a/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp Thu May 27 19:07:17 2010 +0200 +++ b/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp Thu May 27 21:57:44 2010 +0200 @@ -1144,6 +1144,14 @@ } // *************************************************************************** +static bool setupEXTTextureRectangle(const char *glext) +{ + H_AUTO_OGL(setupEXTTextureRectangle); + CHECK_EXT("GL_EXT_texture_rectangle"); + return true; +} + +// *************************************************************************** static bool setupFrameBufferObject(const char *glext) { H_AUTO_OGL(setupFrameBufferObject); @@ -1311,6 +1319,9 @@ // Check GL_NV_texture_rectangle ext.NVTextureRectangle = setupNVTextureRectangle(glext); + // Check GL_EXT_texture_rectangle + ext.EXTTextureRectangle = setupEXTTextureRectangle(glext); + // Check GL_EXT_framebuffer_object ext.FrameBufferObject = setupFrameBufferObject(glext); diff -r 40334856360d -r 82aa1534302b code/nel/src/3d/driver/opengl/driver_opengl_extension.h --- a/code/nel/src/3d/driver/opengl/driver_opengl_extension.h Thu May 27 19:07:17 2010 +0200 +++ b/code/nel/src/3d/driver/opengl/driver_opengl_extension.h Thu May 27 21:57:44 2010 +0200 @@ -70,6 +70,7 @@ bool NVTextureShader; bool NVOcclusionQuery; bool NVTextureRectangle; + bool EXTTextureRectangle; bool FrameBufferObject; bool PackedDepthStencil; // true if NVVertexProgram and if we know that VP is emulated @@ -181,6 +182,7 @@ result += ARBTextureCubeMap ? "ARBTextureCubeMap " : ""; result += ATIEnvMapBumpMap ? "ATIEnvMapBumpMap " : ""; result += NVTextureRectangle ? "NVTextureRectangle " : ""; + result += EXTTextureRectangle ? "EXTTextureRectangle " : ""; result += ARBTextureNonPowerOfTwo ? "ARBTextureNonPowerOfTwo " : ""; result += "texture stages(*) = "; result += NLMISC::toString(NbTextureStages);