앱에서 심도 테스트를 올바르게 수행하는 데 어려움을 겪고 있습니다.OpenTK/OpenGL의 심도 테스트 문제
깊이 여기에서 볼 수 있듯이, 전체 그리기 순서에 따라 할 것 같다 https://www.youtube.com/watch?v=YErS_loJW7w&feature=youtu.be
당신은 비디오에서 볼 수있는, 수잔의 포인트 구름이 메쉬 모델의 전면에 있지만 회전 할 때 끝납니다 그 뒤에.
나는 아래의 코드는 내가 깊이 테스트를 가능하게하는 것은 제대로이 일을 것이라는 인상했다
// clear the render buffer....
GL.Enable(EnableCap.DepthTest);
GL.DepthMask(true);
GL.ClearColor(Color.Black);
GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);
// Render main 3d scene
GL.Enable(EnableCap.CullFace);
GL.CullFace(CullFaceMode.Back);
GL.Enable(EnableCap.DepthTest);
GL.Enable(EnableCap.DepthClamp);
GL.DepthFunc(DepthFunction.Always);
GL.DepthMask(true);
관련된 모든 것을 생각합니다.
무슨 일입니까?
GL 컨텍스트를 만들 때 깊이 버퍼 비트를 요청 했습니까? 당신이 묻지 않는 한 당신은 아무 것도 얻을 수 없습니다. – genpfault
OpenGl은 저에게 비교적 새로운 것입니다. 어떻게 알 수 있습니까? 내가 사용하고있는 OpenTK GLControl 주변의 문서를 보면 depthbuffer가 제공되었음을 나타냅니다. "... GLControl은 GL.Clear()를 사용하여 제거해야하는 색상 버퍼와 깊이 버퍼를 제공합니다." – Chris