]> git.lizzy.rs Git - irrlicht.git/commitdiff
Load extensions the OpenGL 3 way
authornumzero <numzer0@yandex.ru>
Mon, 27 Feb 2023 17:32:06 +0000 (20:32 +0300)
committernumzero <numzer0@yandex.ru>
Mon, 27 Feb 2023 17:32:06 +0000 (20:32 +0300)
source/Irrlicht/OpenGL/ExtensionHandler.cpp

index 297aa943dd5108e26ee9388cf99da5a0cdad286e..055738b91e66645f0a6c97972327b318e4530cb5 100644 (file)
@@ -9,6 +9,7 @@
 #include "irrString.h"\r
 #include "SMaterial.h"\r
 #include "fast_atof.h"\r
+#include <mt_opengl.h>\r
 \r
 namespace irr\r
 {\r
@@ -16,9 +17,22 @@ namespace video
 {\r
        void COpenGL3ExtensionHandler::initExtensions()\r
        {\r
-               getGLVersion();\r
+               GLint major, minor;\r
+               glGetIntegerv(GL_MAJOR_VERSION, &major);\r
+               glGetIntegerv(GL_MINOR_VERSION, &minor);\r
+               Version = 100 * major + 10 * minor;\r
 \r
-               getGLExtensions();\r
+               GLint ext_count = 0;\r
+               GL.GetIntegerv(GL_NUM_EXTENSIONS, &ext_count);\r
+               for (int k = 0; k < ext_count; k++) {\r
+                       auto ext_name = (char *)GL.GetStringi(GL_EXTENSIONS, k);\r
+                       for (size_t j=0; j<IRR_OGLES_Feature_Count; ++j) {\r
+                               if (!strcmp(getFeatureString(j), ext_name)) {\r
+                                       FeatureAvailable[j] = true;\r
+                                       break;\r
+                               }\r
+                       }\r
+               }\r
 \r
                GLint val=0;\r
                glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, &val);\r