深度钳是在深度测试之前还是深度测试之后发生的?我正在渲染一个坐标 > 1.0 和 <-1.0 的基元,并使用深度钳位和深度测试。但是当我启用深度测试时,它不会渲染任何几何图形。
这是我的代码:
GLfloat vertices[]=
{
0.5f,0.5f,0.5f,
-0.5f,0.5f,0.5f,
-0.5f,-0.5f,0.5f,
0.5f,-0.5f,0.5f,
0.5f,-0.5f,-0.5f,
-0.5f,-0.5f,-0.5f,
-0.5f,0.5f,-0.5f,
0.5f,0.5f,-0.5f
}
for(int i=0;i<24;i++)
vertices[3*i+2]*=25;
glEnable(GL_DEPTH_CLAMP);
// when i comment stmt below, it draws triangle strips
glEnable(GL_DEPTH_TEST);
glClearDepth(15.0f);
glClearColor (1.0, 0.0, 0.0, 1.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glDrawArrays(GL_TRIANGLE_STRIP,0,6);
如何同时使用深度测试和夹紧?
为什么上面的代码在启用深度测试的情况下没有在屏幕上绘制任何东西?