我尝试在另一台计算机上打开Visual Studio项目。我不确定这是否相关,但最初我在找到MSAA像素格式时遇到问题,直到我将WGL_SAMPLES_ARB参数从8更改为4。
然而,屏幕上的图像是黑白的,并且没有响应任何矩阵变换。
我正在使用OpenGL SuperBible第5版的GLShaderManager代码。在调用glCompileShader()之后,它使用GL_COMPILE_STATUS参数调用glGetShaderiv()。我设置了一个断点,确定它正在返回GL_FALSE。
这在我的其他计算机上不会发生。知道是什么原因引起的吗?这台机器使用的是ATI Radeon HD 5450,我刚刚更新了驱动程序。
答案 0 :(得分:3)
对于测试和调试,如果编译失败,您应该始终添加代码来检查GL_COMPILE_STATUS
和GL_LINK_STATUS
并挽救,或者至少显示警告。
使用glGetShaderInfoLog
和glGetProgramInfoLog
分别从着色器编译器和链接器获取输出。这些可能会告诉你错误是什么(或编译器认为是什么)。