[OpenGL] 투영 변환 후 화면 갱신에 관해 질문을 드립니다.
글쓴이: planetblue / 작성시간: 화, 2009/03/24 - 8:49오후
OpenGL, glut를 통한 작업 도중 작성 한 함수에 대한 명시적인 호출를 통해 아래와 같이 투영 변환 과정을 거치게 됩니다.
func()
{
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(.................);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
하지만 이는 화면에 곧바로 반영 되지 않으며 혹은 함수내에서 glutReshapeFunc를 시도해도 마찬가집니다.
glutPostRedisplay, glutCreateMenu처럼 콜백 함수의 동작이 있어야지만 반영이 되네요
위와 같은 현상이 일어나는 이유와 해결 방법에대해 조언 해주시면 감사하겠습니다.
Forums:
꼭 해보고 싶었던 것...
http://lmgtfy.com/?q=glFinish
===========================================================================
Shocky Han
BIM Consultant, Certified Information Systems Auditor
Seoul, Korea.
===========================================================================
===========================================================================
Shocky Han
BIM Consultant, Certified Information Systems Auditor
Seoul, Korea.
===========================================================================
감사합니다.
헌데 저 func()를 호출하는 함수의 하단 부에 버퍼를 비우기 위한 코드가 존재하고 있습니다..
버퍼를 비우기 위한 코드가...?
일단 질문하신 내용에는 버퍼를 비우는 코드가 보이지 않는데,
사실 그게 뭔지 좀 모호하네요.
depth buffer나 stencil buffer등을 말씀하시는 거라면
rendering 중에 비우시면 의도하지 않은 결과가 발생할 수 있으니
정확히 알고 용도에 맞게 쓰셔야 할거구요.
어쨌든 원인 파악도 할 겸 glFinish()을 호출해 강제로 pipe line이 완료되길
기다려 보시라는 건데 그게 효과가 없거나 원인 파악에 도움이 안되신다면,
아마도 func() 함수와 draw()/display() 함수의 전후에 이상이 있을 것 같네요.
추가: 참고하시기 바랍니다.
Measuring Performance
===========================================================================
Shocky Han
BIM Consultant, Certified Information Systems Auditor
Seoul, Korea.
===========================================================================
===========================================================================
Shocky Han
BIM Consultant, Certified Information Systems Auditor
Seoul, Korea.
===========================================================================
조언 해주셔서
조언 해주셔서 감사합니다.
해당 함수 전후의 코드를 다시 확인해보겠습니다.
댓글 달기