OpenGL深度缓冲区问题

时间:2015-11-28 00:51:09

标签: opengl buffer axis depth

在我的openGL程序中使深度缓冲区工作有很多困难。我已经尝试过所有常见问题,如:

  • 与我的Clip Planes混淆
  • 使近z和远z剪裁平面
  • 确保我实际上正在调用深度缓冲区的所有内容

以下是我的“显示”功能的代码段,可帮助您了解我的问题。我的窗口大小为600x600,我试图以图形方式显示我的对象。

glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LEQUAL);
glDepthMask(GL_TRUE);
glDepthRange(0.0, 1.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glClear (GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);


glMatrixMode(GL_PROJECTION);
//isometric view
glLoadIdentity();
glColor3f(0.0, 0.0, 0.0);
glOrtho (-300, 400.0,-300, 400.0, 10, 700.0);

gluLookAt(10, 10, 10, 300.0, 300.0, 162.0, 0.0, 1.0, 0.0);
//Center of object located at (300, 300, 162)

glViewport(0, 0, 600, 600);
glMatrixMode(GL_MODELVIEW);

//Code drawing my program

如果你们中的任何人认为它会有所帮助,我可以提供更多我的代码。谢谢大家的帮助!

0 个答案:

没有答案