2010-12-13 4 views
0

나는 OpenGL을 사용하는 프로젝트에서만 작업하고있다. (특정 게임이되도록해야한다.) 개발의 몇 주 후에, 나는 GL.GetError()으로 OpenGL 오류를 잡을 수있는 가능성을 발견했다. 내가 싫어하는 점은 무엇이 잘못되었지만 어디서 잘못되었는지를 말한 것이므로 고정 된 오류를 얻고 싶습니다. 이 StackOverflow로 전환하고 그 방법을 유지, 을 StackUnderflow와 몇 개의 프레임 (서너)이있는 응용 프로그램을 실행할 때 : 그래서 여기OpenGL 오류 언더 플로가 오버플로됩니까?

이 일어나는 것이다.

내 Matrix-Push - Pop의 일관성을 확인했으며 닫히지 않은 행렬을 찾지 못했습니다. 내가 보는 것에서는 조명이 작동하지 않는다는 것을 알면 흥미로울 것입니다 (다양한 물체의 모든면이 매우 똑같습니다).

다른 가능한 원인이 있습니까? 당신은 각각의 모드는 별도의 스택을 가지고 있기 때문에 터지는 전에 매트릭스 모드를 설정해야

답변

4

:

은 (http://galwarcom.svn.sourceforge.net/viewvc/galwarcom/trunk/galwarcom/는 소스를보고 싶은 경우에 많이있다). 이런 식으로하면, 언더 플로우가됩니다 :

glMatrixMode(GL_MODELVIEW) 
glPushMatrix(); 
... stuff with model view ... 
glMatrixMode(GL_PROJECTION) 
glPushMatrix() 
... stuff with project matrix ... 
glPopMatrix() // projection popped 
glPopMatrix() // projection again 

당신은 drawHUD() 같은 다른 일을하고있을 것입니다.

+0

대단히 감사합니다. :) –

관련 문제