Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opengl 多视图截锥裁剪_Opengl_Clipping - Fatal编程技术网

Opengl 多视图截锥裁剪

Opengl 多视图截锥裁剪,opengl,clipping,Opengl,Clipping,函数gluPerspective()可用于设置近Z和远Z剪裁平面 我想画一个在某个远Z平面上剪辑的场景, 然后在Z平面之外画另一个场景。 每帧可以进行两次剪辑吗?没有理由不能这样做 只需设置第一个透视图,绘制第一个场景,然后设置第二个透视图并绘制第二个场景,所有这些都在同一帧的绘图中。 这通常称为多次渲染。您可能需要先绘制最远的场景,然后执行glClear(GL\u深度\u缓冲\u位)在绘制最近的场景之前。可以为场景指定不同的深度范围。一些伪代码可能是: glDepthRange(0.5,

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

我想画一个在某个远Z平面上剪辑的场景, 然后在Z平面之外画另一个场景。
每帧可以进行两次剪辑吗?

没有理由不能这样做

只需设置第一个透视图,绘制第一个场景,然后设置第二个透视图并绘制第二个场景,所有这些都在同一帧的绘图中。

这通常称为多次渲染。

您可能需要先绘制最远的场景,然后执行
glClear(GL\u深度\u缓冲\u位)在绘制最近的场景之前。

可以为场景指定不同的深度范围。一些伪代码可能是:

  glDepthRange(0.5, 1.0)
  draw_far_scene
  glDepthRange(0.0, 0.5)
  draw_near_scene
必须设置投影矩阵才能对近/远场景执行适当的剪裁

需要指定深度范围,以防止深度缓冲区“合并”两个渲染