我正在通过使用发现着色器,并出现了一个奇怪的问题。
我需要ARB_robustness扩展,我的片段着色器才能正常工作。GLEW是肯定的,我有分机:
assert(GLEW_ARB_robustness); // Passes...however当我把它放在我的阴影里时.
#extension GL_ARB_robustness : require...the着色器编译器不识别它。
0(3) : error C0202: extension ARB_robustness not supportedGLEW是正确初始化的,只要我不尝试使用这个扩展,一切都可以正常工作。
造成这个问题的原因是什么,我该如何解决呢?提前谢谢。
Update:在朋友的帮助下,我在我这一边戳它,我根据他的建议运行glxinfo,扩展的名称确实出现在输出中。
发布于 2014-11-27 23:30:55
GL_ARB_robustness不是GLSL修改扩展。此扩展的目的是使与OpenGL API的交互更加健壮,因为可以捕获对内存的超出绑定的访问。有点像sprintf和snprintf之间的区别。因为这不是一个着色器扩展,所以在着色器中声明使用它是没有意义的。
除了编辑之外,还必须在启用健壮性属性的情况下创建OpenGL上下文:参见robustness.txt和robustness.txt --如果实际为上下文启用了健壮性,则着色器也可能会通过。
https://stackoverflow.com/questions/27178649
复制相似问题