diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-12-10 17:56:00 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-12-10 17:56:00 +0300 |
commit | c5a6f80e62fd9836a75058ac358d39dd5ec956b5 (patch) | |
tree | c36aab0291b39571fff3f577620da6149c32fb63 /src/graphicsmanager.cpp | |
parent | 18808109d12835d18d9d1ada96ed394a082a7740 (diff) | |
download | manaplus-c5a6f80e62fd9836a75058ac358d39dd5ec956b5.tar.gz manaplus-c5a6f80e62fd9836a75058ac358d39dd5ec956b5.tar.bz2 manaplus-c5a6f80e62fd9836a75058ac358d39dd5ec956b5.tar.xz manaplus-c5a6f80e62fd9836a75058ac358d39dd5ec956b5.zip |
Add pointer to OpenGL function glActiveTexture.
Diffstat (limited to 'src/graphicsmanager.cpp')
-rw-r--r-- | src/graphicsmanager.cpp | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/src/graphicsmanager.cpp b/src/graphicsmanager.cpp index bd7347e53..70c4346bf 100644 --- a/src/graphicsmanager.cpp +++ b/src/graphicsmanager.cpp @@ -896,6 +896,7 @@ void GraphicsManager::initOpenGLFunctions() const bool is10 = checkGLVersion(1, 0); const bool is11 = checkGLVersion(1, 1); const bool is12 = checkGLVersion(1, 2); + const bool is13 = checkGLVersion(1, 3); const bool is15 = checkGLVersion(1, 5); const bool is20 = checkGLVersion(2, 0); const bool is21 = checkGLVersion(2, 1); @@ -936,6 +937,7 @@ void GraphicsManager::initOpenGLFunctions() { mSupportModernOpengl = false; emulateFunction(glTextureSubImage2D); + emulateFunction(glActiveTexture); return; } @@ -978,12 +980,6 @@ void GraphicsManager::initOpenGLFunctions() } } - if (is20 || supportExtension("GL_ARB_explicit_attrib_location")) - { - logger->log1("found GL_ARB_explicit_attrib_location"); - assignFunction(glBindAttribLocation); - } - if (is12 && (is42 || supportExtension("GL_ARB_texture_storage"))) { logger->log1("found GL_ARB_texture_storage"); @@ -993,6 +989,28 @@ void GraphicsManager::initOpenGLFunctions() { logger->log1("GL_ARB_texture_storage not found"); } + + if (is13 || supportExtension("GL_ARB_multitexture")) + { + logger->log1("found GL_ARB_multitexture or OpenGL 1.3"); + assignFunction(glActiveTexture); + } + else + { + emulateFunction(glActiveTexture); + logger->log1("GL_ARB_multitexture not found"); + } + + if (is20 || supportExtension("GL_ARB_explicit_attrib_location")) + { + logger->log1("found GL_ARB_explicit_attrib_location or OpenGL 2.0"); + assignFunction(glBindAttribLocation); + } + else + { + logger->log1("GL_ARB_explicit_attrib_location not found"); + } + if (is30 || supportExtension("GL_ARB_framebuffer_object")) { // frame buffer supported logger->log1("found GL_ARB_framebuffer_object"); |