2

函数 gluPerspective() 可用于设置近 Z 和远 Z 剪切平面。

我想画一个剪裁在某个远 Z 平面的场景,并在这个 Z 平面之外画另一个场景。是否可以每帧进行两次剪辑?

4

3 回答 3

1

你没有理由不能这样做。

只需设置第一个透视图,绘制第一个场景,然后设置第二个透视图并绘制第二个场景,所有这些都在同一帧的绘图中。
这通常被称为多通道渲染。

于 2009-02-26T13:11:36.673 回答
1

您可能需要先绘制最远的场景,glClear(GL_DEPTH_BUFFER_BIT);然后再绘制最近的场景。

于 2009-02-26T13:14:44.107 回答
1

一种可能性是为场景分配不同的深度范围。一些伪代码是:

  glDepthRange(0.5, 1.0)
  draw_far_scene
  glDepthRange(0.0, 0.5)
  draw_near_scene

您必须设置投影矩阵才能对近/远场景执行正确的剪辑。

需要分配深度范围以防止深度缓冲区“合并”两个渲染。

于 2009-02-27T07:02:53.040 回答