如何运用OpenGL的深度测试?
深度测试相信大家都用过:glEnable(GL_DEPTH_TEST),就可以开启OpenGL的深度测试。
然后设置glClearDepth(maxDepth)设定最大的深度值,范围是[0, 1.0],默认是1.0(也就是说大于它的,就会不被画出)
然后使用glClear(GL_DEPTH_BUFFER_BIT)清除深度缓冲区
最后可以指定glDepthFunc(GL_LESS)等来测试
我现在的问题就是,怎样根据我想要的最大深度值去设定maxDepth呢?
如:
glBegin(GL_POINTS);
glColor3f(1.0, 0.0, 0.0); // red point
glVertex3f(0.0, 0.0, 0.0);
glColor3f(0.0, 1.0, 0.0); // green point
glVertex3f(1.0, 0.0, 6.0);
glEnd();
现在就是想设定一个深度值,使green point不显示出来,请问应该怎样设定maxDepth呢?