opengl程序调试心得

1。每一帧的结尾应该用glGerError()看一下有没有错误。

2。如果接受一个别人的程序,而程序在开始的时候正常运行而过一段时间后出问题,则很大可能是由于glPushMatrix()和glPopMatrix()没有配对的问题,导致堆栈满,从而modelView matrix 或者 projection matrix出现问题。

顺便说一下,一般的modelview stack的depth是32,而projection statck的depth是4。

 

查询当前的stack深度。

GLint params[2];
 glGetIntegerv(GL_MODELVIEW_STACK_DEPTH, params);
 glGetIntegerv(GL_PROJECTION_STACK_DEPTH, params + 1);

你可能感兴趣的:(Matrix)