Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ OpenGL glew列表非核心扩展_C++_C_Opengl_Glew - Fatal编程技术网

C++ OpenGL glew列表非核心扩展

C++ OpenGL glew列表非核心扩展,c++,c,opengl,glew,C++,C,Opengl,Glew,我问过你 GLint n; glGetIntegerv(GL_NUM_EXTENSIONS, &n); for(GLint i = 0; i < n; i++) { const char* extension = (const char*)glGetStringi(GL_EXTENSIONS, i); INFORM("Extension #%d: %s", i, extension); } 闪烁n; glGetIntegerv(GL\u NUM\u扩展,&n);

我问过你

GLint n;
glGetIntegerv(GL_NUM_EXTENSIONS, &n);

for(GLint i = 0; i < n; i++)
{
    const char* extension = (const char*)glGetStringi(GL_EXTENSIONS, i);
    INFORM("Extension #%d: %s", i, extension);
}
闪烁n;
glGetIntegerv(GL\u NUM\u扩展,&n);
对于(闪烁i=0;i
我支持的扩展

首先,我这里缺少GLX扩展,如何查询这些扩展


第二,如何筛选出核心扩展?例如,列表中的
GL\u ARB\u compute\u着色器
,它绝对是4.4.0版(我的上下文正在使用)的核心。

看起来很傻,GLX是一个独立于OpenGL的API,执行
glGetStringi
将无法获得任何关于GLX的信息。要查询GLX扩展,您可能需要
glXQueryExtensionsString
@PeterT-Hmm谢谢,仔细查看一下。这似乎类似于
glGetString(GL\u扩展名)
。是否有类似于
glGetStringi(GL_extensions,i)
的版本?说到每次调用查询一个分机,而不是在同一个字符串中同时查询所有分机?@PeterT:在Windows上甚至更愚蠢。您必须创建一个OpenGL上下文来加载查询WGL扩展所需的函数。。。但是您必须加载的函数是WGL扩展()的一部分-幸运的是,这是您将在
glu扩展
字符串中看到的一个WGL扩展。否则,这将是一个完全自相矛盾的问题,我不知道。如果我没记错的话,在OpenGL中完成这项工作的全部原因是因为列表变得非常长。我不认为GLX有这个问题,所以他们不必修复它。除非你实现自己的逻辑,否则你不能真正过滤掉升级到core的扩展。您会注意到,如果您曾经为OSX编写GL软件,如果您查询扩展字符串,Apple实际上会这样做。它们列出的唯一扩展是当前上下文版本中不核心的内容。有没有什么特别的原因让你想隐藏核心扩展呢?