diff --git a/cmake/checks.cmake b/cmake/checks.cmake index d00d760a3..f5cabaa82 100644 --- a/cmake/checks.cmake +++ b/cmake/checks.cmake @@ -184,7 +184,7 @@ MACRO(CHECK_LIBRARIES) ENDIF(ENET_FOUND) # OpenGL - Find_Package(OpenGL) + Find_Package(OpenGL 2.1.0) IF(OPENGL_FOUND) SET(HAVE_LIBGL 1) diff --git a/src/libs/tgfclient/guiscreen.cpp b/src/libs/tgfclient/guiscreen.cpp index 4ae1a176e..67566d079 100644 --- a/src/libs/tgfclient/guiscreen.cpp +++ b/src/libs/tgfclient/guiscreen.cpp @@ -377,7 +377,11 @@ SDL_Surface* gfScrCreateWindow(int nWinWidth, int nWinHeight, int nTotalDepth,in } #endif /* Create OpenGL context */ - GLContext = SDL_GL_CreateContext(GfuiWindow); + if (!(GLContext = SDL_GL_CreateContext(GfuiWindow))) + { + GfLogError("SDL_GL_CreateContext failed: %s\n", SDL_GetError()); + return nullptr; + } // If specified, try best possible settings. PScreenSurface = SDL_CreateRGBSurface(0, nWinWidth, nWinHeight, nTotalDepth, @@ -427,8 +431,8 @@ bool GfScrInitSDL2(int nWinWidth, int nWinHeight, int nFullScreen) SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE); #else // Version d'OpenGL - SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3); - SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 3); + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 2); + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 1); SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_COMPATIBILITY); #endif diff --git a/src/modules/graphic/osggraph/Car/OsgCar.cpp b/src/modules/graphic/osggraph/Car/OsgCar.cpp index 1717ddc14..38330605f 100644 --- a/src/modules/graphic/osggraph/Car/OsgCar.cpp +++ b/src/modules/graphic/osggraph/Car/OsgCar.cpp @@ -644,7 +644,8 @@ osg::ref_ptr SDCar::loadCar(tCarElt *Car, bool tracktype, bool subcat else this->reflectionMappingMethod = REFLECTIONMAPPING_OFF; - this->shader = new SDCarShader(car_shaded_body.get(), this); + if (_carShader > 0) + this->shader = new SDCarShader(car_shaded_body.get(), this); this->reflectionMapping = new SDReflectionMapping(this); this->setReflectionMap(this->reflectionMapping->getReflectionMap());