我对glLoadMatrixf
有问题。它似乎没有加载
正确地给定矩阵。我通过使用检查矩阵来调试glGetFloatv()
。
float modelMatrix[16] = {
1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, 0,
0, 0, 5, 1
};
glMatrixMode(GL_MODELVIEW);
glLoadMatrixf(modelMatrix);
GLfloat m[16];
glGetFloatv(GL_MODELVIEW_MATRIX, m);
在Visual Studio 2013中进行调试时,m返回为
m 0x004aeb50 {-107374176., -107374176., -107374176., -107374176.,
-107374176., -107374176., -107374176., ...}
这使我相信矩阵未正确加载。
我正在使用OpenGL 4.0.12874版本,freeglut和glew。根据我的搜索
在线,这是加载自定义矩阵的标准方法。我很茫然。
任何帮助将不胜感激。
最佳答案
最初,我在初始化窗口时调用了glutInitContextVersion(4, 1);
。这样做导致在每个适用的GL调用之后显示错误1282。
我将init更改为glutInitContextVersion(3, 1);
,现在一切正常。现在,在所有适用的GL调用之后,glGetError
返回0。