2009-09-26 3 views
1

안녕하세요, OpenGL을 처음 접해 보니 제발 참아주십시오. :) 저는 NeHe의 OpenGL 튜토리얼을 통해 작업하고 있으며, 제 5 장의 자체 버전을 개발했습니다.이 버전에서는 원점을 중심으로 3D 모양을 회전시킵니다. 내가 뭘 잘못했는지 모르겠다. 코드를 거의 줄 바꿈으로 복사했지만, 내 표면에 이상한 겹침이 보인다.OpenGL에서의 이상한 클리핑 문제

누구에게 그런 문제가 발생했는지에 대한 제안이 있습니까?

감사합니다. 여기

예 : 깊이 버퍼에 문제가있어 같은 http://yfrog.com/2copengllesson5p

답변

0

와우가 완전히 하나 개의 라인으로 고정 (이 서정 시인이 쓰는 것과 유사하다) : 나는 무엇을 아무 생각

gl.glEnable(GL.GL_CULL_FACE); 

있지만 어떤 자습서에 언급되지 않았다 사용했지만 데모는 완벽하게 작동합니다. 그게 무슨 짓을했는지 알아 내려면 Google에 문의하십시오. : D

0

보인다. 특히 깊이에 관계없이 각 다각형이 그려지는 것처럼 보입니다. 즉 다각형에서 오는 각 단편이 깊이 테스트를 통과합니다. 이 다각형은 단순히 일이 어떤 순서로 서로에 걸쳐 그려진 것을 의미에서 렌더링합니다.

당신이 혹시

glDepthMask(GL_FALSE) 

같은과 깊이 버퍼에 기록하지 않으 셨나요?

그렇다면 각 프레임의 시작 부분에서 깊이 버퍼를 지우는 것을 기억 했습니까? Nehe 튜토리얼은 깊이와 색상 버퍼를 모두 지우는

으로 시작합니다. 당신이 그 부분의 GL_DEPTH_BUFFER_BIT을 제거하지 않았는지 확인하십시오. 당신이 깊이 버퍼를 활성화 없거나 어쩌면 z 버퍼와 프레임 버퍼를 만드는 것처럼

HTH는 나에게

+0

다음은 내 GL의 관련 "속성"입니다. gl = context.getGL(); \t gl.glColor3f (0.0f, 0.0f, 0.0f); \t gl.glHint (GL.GL_PERSPECTIVE_CORRECTION_HINT, GL.GL_NICEST); \t gl.glClear (GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT); \t gl.glShadeModel (GL.GL_SMOOTH); // 부드러운 음영 사용 가능 \t gl.glClearColor (0.0f, 0.0f, 0.0f, 0.0f); // 검정색 배경 \t gl.glEnable (GL.GL_DEPTH_TEST); // 깊이 검사를 가능하게한다 –

+0

'gl.glDepthMask (true);를 추가해보고 차이가 있는지 확인한다. – Troubadour

+0

gl.glDepthMask (true)를 추가해도 아무 것도 변경되지 않았습니다. :( –

0

것 같습니다.

glEnable(GL_DEPTH_TEST);