kbi*_*irk 1 compiler-construction opengl shader compiler-errors
我尝试在另一台计算机上打开一个 Visual Studio 项目。我不确定这是否相关,但最初我在查找 MSAA 像素格式时遇到了问题,直到我将 WGL_SAMPLES_ARB 参数从 8 更改为 4。
然而,屏幕上的图像是黑白的,对任何矩阵变换都没有反应。
我正在使用来自 OpenGL SuperBible 第 5 版的 GLShaderManager 代码。在它调用 glCompileShader() 之后,它使用 GL_COMPILE_STATUS 参数调用 glGetShaderiv()。我设置了一个断点,果然它以 GL_FALSE 返回。
这在我的另一台电脑上不会发生。知道是什么原因造成的吗?这台机器使用的是ATI Radeon HD 5450,我刚刚更新了驱动程序。
唉,GLSL 是一头狡猾的野兽,每个显卡、驱动程序、平台和版本对有效代码的构成都有不同的想法。
对于测试和调试,您应该始终添加代码来检查GL_COMPILE_STATUS和GL_LINK_STATUS退出,或者至少在编译失败时显示警告。
使用glGetShaderInfoLog和glGetProgramInfoLog分别从着色器编译器和链接器获取输出。这些可能会告诉您什么(或编译器认为)是错误的。
| 归档时间: |
|
| 查看次数: |
8093 次 |
| 最近记录: |