diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_vertex_program.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_vertex_program.cpp index 5470ec5c5..bab700f04 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_vertex_program.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_vertex_program.cpp @@ -46,20 +46,20 @@ CVertexProgamDrvInfosGL::CVertexProgamDrvInfosGL(CDriverGL *drv, ItGPUPrgDrvInfo H_AUTO_OGL(CVertexProgamDrvInfosGL_CVertexProgamDrvInfosGL); // Extension must exist - nlassert (drv->_Extensions.NVVertexProgram + nlassert (drv->_Extensions.ARBVertexProgram + || drv->_Extensions.NVVertexProgram || drv->_Extensions.EXTVertexShader - || drv->_Extensions.ARBVertexProgram ); #ifndef USE_OPENGLES - if (drv->_Extensions.NVVertexProgram) // NVIDIA implemntation + // Generate a program + if (drv->_Extensions.ARBVertexProgram) // ARB implementation { - // Generate a program - nglGenProgramsNV (1, &ID); + nglGenProgramsARB(1, &ID); } - else if (drv->_Extensions.ARBVertexProgram) // ARB implementation + else if (drv->_Extensions.NVVertexProgram) // NVIDIA implementation { - nglGenProgramsARB(1, &ID); + nglGenProgramsNV(1, &ID); } else { @@ -74,7 +74,7 @@ bool CDriverGL::supportVertexProgram(CVertexProgram::TProfile profile) const { H_AUTO_OGL(CVertexProgamDrvInfosGL_supportVertexProgram) return (profile == CVertexProgram::nelvp) - && (_Extensions.NVVertexProgram || _Extensions.EXTVertexShader || _Extensions.ARBVertexProgram); + && (_Extensions.ARBVertexProgram || _Extensions.NVVertexProgram || _Extensions.EXTVertexShader); } // *************************************************************************** @@ -1774,7 +1774,6 @@ bool CDriverGL::compileVertexProgram(NL3D::CVertexProgram *program) } // *************************************************************************** - bool CDriverGL::activeVertexProgram(CVertexProgram *program) { H_AUTO_OGL(CDriverGL_activeVertexProgram) @@ -1783,13 +1782,13 @@ bool CDriverGL::activeVertexProgram(CVertexProgram *program) if (program && !CDriverGL::compileVertexProgram(program)) return false; // Extension - if (_Extensions.NVVertexProgram) + if (_Extensions.ARBVertexProgram) { - return activeNVVertexProgram(program); + return activeARBVertexProgram(program); } - else if (_Extensions.ARBVertexProgram) + else if (_Extensions.NVVertexProgram) { - return activeARBVertexProgram(program); + return activeNVVertexProgram(program); } else if (_Extensions.EXTVertexShader) { @@ -1808,32 +1807,31 @@ void CDriverGL::enableVertexProgramDoubleSidedColor(bool doubleSided) #ifndef USE_OPENGLES // Vertex program exist ? - if (_Extensions.NVVertexProgram) + if (_Extensions.ARBVertexProgram) { // change mode (not cached because supposed to be rare) if(doubleSided) - glEnable (GL_VERTEX_PROGRAM_TWO_SIDE_NV); + glEnable (GL_VERTEX_PROGRAM_TWO_SIDE_ARB); else - glDisable (GL_VERTEX_PROGRAM_TWO_SIDE_NV); + glDisable (GL_VERTEX_PROGRAM_TWO_SIDE_ARB); } - else if (_Extensions.ARBVertexProgram) + else if (_Extensions.NVVertexProgram) { // change mode (not cached because supposed to be rare) if(doubleSided) - glEnable (GL_VERTEX_PROGRAM_TWO_SIDE_ARB); + glEnable (GL_VERTEX_PROGRAM_TWO_SIDE_NV); else - glDisable (GL_VERTEX_PROGRAM_TWO_SIDE_ARB); + glDisable (GL_VERTEX_PROGRAM_TWO_SIDE_NV); } #endif } - // *************************************************************************** bool CDriverGL::supportVertexProgramDoubleSidedColor() const { H_AUTO_OGL(CDriverGL_supportVertexProgramDoubleSidedColor) // currently only supported by NV_VERTEX_PROGRAM && ARB_VERTEX_PROGRAM - return _Extensions.NVVertexProgram || _Extensions.ARBVertexProgram; + return _Extensions.ARBVertexProgram || _Extensions.NVVertexProgram; } #ifdef NL_STATIC