【问题标题】:Multiple view frustum clipping多视图平截头体剪裁
【发布时间】:2010-10-10 01:55:44
【问题描述】:

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

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

【问题讨论】:

    标签: opengl clipping


    【解决方案1】:

    你没有理由不能这样做。

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

    【讨论】:

      【解决方案2】:

      您可能需要先绘制最远的场景并在绘制最近的场景之前执行glClear(GL_DEPTH_BUFFER_BIT);

      【讨论】:

        【解决方案3】:

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

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

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

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

        【讨论】:

          猜你喜欢
          • 2010-09-09
          • 2021-07-17
          • 1970-01-01
          • 1970-01-01
          • 2014-03-11
          • 2015-01-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多