我遇到了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。根据我的搜索 在线,这是加载自定义矩阵的标准方法。我很茫然。 任何帮助将不胜感激。
答案 0 :(得分:1)
最初,我在初始化窗口时调用glutInitContextVersion(4, 1);
。这样做导致在每次适用的GL呼叫之后显示错误1282。
我将init更改为glutInitContextVersion(3, 1);
,现在一切正常。 glGetError
现在在所有适用的GL呼叫后返回0。