函数gluPerspective()可用于设置Z和远Z剪裁平面附近。
我想绘制一个在某个远Z平面上剪裁的场景, 并在此Z平面之外绘制另一个场景。 是否可以每帧进行两次剪辑?
答案 0 :(得分:1)
没有理由你不能这样做。
只需设置第一个视角,绘制第一个场景,然后设置第二个视角并绘制秒场景,所有这些都在同一帧的图形内。
这通常被称为多次渲染。
答案 1 :(得分:1)
您可能需要先绘制最远的场景,然后在绘制最近的场景之前进行glClear(GL_DEPTH_BUFFER_BIT);
。
答案 2 :(得分:1)
可能是为场景指定不同的深度范围。一些伪代码将是:
glDepthRange(0.5, 1.0)
draw_far_scene
glDepthRange(0.0, 0.5)
draw_near_scene
您必须设置投影矩阵以对近/远场景执行正确的裁剪。
需要深度范围分配以防止深度缓冲区“合并”两个渲染。