diff --git a/lib/irrlicht/source/Irrlicht/COpenGLDriver.cpp b/lib/irrlicht/source/Irrlicht/COpenGLDriver.cpp index 2d58a401a..e78f2fc91 100644 --- a/lib/irrlicht/source/Irrlicht/COpenGLDriver.cpp +++ b/lib/irrlicht/source/Irrlicht/COpenGLDriver.cpp @@ -809,7 +809,7 @@ bool COpenGLDriver::genericDriverInit() u32 i; CurrentTexture.clear(); // load extensions - initExtensions(Params.Stencilbuffer); + initExtensions(Params.Stencilbuffer, useCoreContext); if (queryFeature(EVDF_ARB_GLSL)) { char buf[32]; @@ -872,9 +872,11 @@ bool COpenGLDriver::genericDriverInit() glClearDepth(1.0); if (!useCoreContext) + { glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); + glHint(GL_POINT_SMOOTH_HINT, GL_FASTEST); + } glHint(GL_LINE_SMOOTH_HINT, GL_NICEST); - glHint(GL_POINT_SMOOTH_HINT, GL_FASTEST); glDepthFunc(GL_LEQUAL); glFrontFace(GL_CW); // adjust flat coloring scheme to DirectX version diff --git a/lib/irrlicht/source/Irrlicht/COpenGLExtensionHandler.cpp b/lib/irrlicht/source/Irrlicht/COpenGLExtensionHandler.cpp index 095083ef6..8b7afb0ad 100644 --- a/lib/irrlicht/source/Irrlicht/COpenGLExtensionHandler.cpp +++ b/lib/irrlicht/source/Irrlicht/COpenGLExtensionHandler.cpp @@ -327,7 +327,7 @@ void COpenGLExtensionHandler::dumpFramebufferFormats() const } -void COpenGLExtensionHandler::initExtensions(bool stencilBuffer) +void COpenGLExtensionHandler::initExtensions(bool stencilBuffer, bool useCoreContext) { const f32 ogl_ver = core::fast_atof(reinterpret_cast(glGetString(GL_VERSION))); Version = static_cast(core::floor32(ogl_ver)*100+core::round32(core::fract(ogl_ver)*10.0f)); @@ -337,9 +337,15 @@ void COpenGLExtensionHandler::initExtensions(bool stencilBuffer) os::Printer::log("OpenGL driver version is not 1.2 or better.", ELL_WARNING); { - const char* t = reinterpret_cast(glGetString(GL_EXTENSIONS)); + const char* t = NULL; size_t len = 0; c8 *str = 0; + + if (!useCoreContext) + { + t = reinterpret_cast(glGetString(GL_EXTENSIONS)); + } + if (t) { len = strlen(t); diff --git a/lib/irrlicht/source/Irrlicht/COpenGLExtensionHandler.h b/lib/irrlicht/source/Irrlicht/COpenGLExtensionHandler.h index 757d416ee..597c71b6e 100644 --- a/lib/irrlicht/source/Irrlicht/COpenGLExtensionHandler.h +++ b/lib/irrlicht/source/Irrlicht/COpenGLExtensionHandler.h @@ -924,7 +924,7 @@ class COpenGLExtensionHandler COpenGLExtensionHandler(); // deferred initialization - void initExtensions(bool stencilBuffer); + void initExtensions(bool stencilBuffer, bool useCoreContext); //! queries the features of the driver, returns true if feature is available bool queryFeature(E_VIDEO_DRIVER_FEATURE feature) const;