浏览代码

Use different extension detection mechanism

I got this from looking at the code from the glew utility 'glewinfo' on my system it reported the following for GL_ARB_geometry_shader4:  OK [MISSING]. This lead me to believe that there are two different ways of determining extensions. The first 'OK' seems to refer to the entrypoint existing while the second one seems to refer to the extension being available.

The difference is this:
The first OK comes from : GLEW_ARB_geometry_shader4 the global whereas the second 'MISSING' comes from glewGetExtension("GL_ARB_geometry_shader4"). By replacing the gglHasExtension I got the desired result.

We may want to implement some caching if we want to keep using GLEW perhaps?

Anyway I suggest this merely as a test, I'm not sure if this is a viable long-term solution.
Hein-Pieter van Braam 10 年之前
父节点
当前提交
08622e9601
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      Engine/source/gfx/gl/tGL/tGL.h

+ 2 - 1
Engine/source/gfx/gl/tGL/tGL.h

@@ -24,7 +24,8 @@
 #define T_GL_H
 #include "GL/glew.h"
 
-#define gglHasExtension(EXTENSION) GLEW_##EXTENSION
+// Slower but reliably detects extensions
+#define gglHasExtension(EXTENSION) glewGetExtension("GL_##EXTENSION")
 
 #endif