0

我需要实现以下目标:

两个 2D 四边形看起来好像一个在另一个之上(就像同一纹理的两半),但实际上在 z 轴上被 n 个坐标分开。因此,如果 3D 对象在它们之间经过,则一半出现在对象前面,另一半出现在对象后面。

我可以通过对两个四边形应用正交投影然后对其余 3d 数据应用正常透视来实现这一点吗?这会丢失深度数据吗?

我希望我的例子不会太误导!

4

1 回答 1

1

简单的答案是肯定的,如果您在渲染四边形时打开了 z write。除非您明确执行,否则您的 z 数据永远不会被丢弃。

然而,让正交深度与投影深度很好地配合可能会很棘手。(我从未尝试过,但我想它不会很好地排列。)在这种情况下,最好执行以下操作之一:

  • 在透视图中渲染所有几何图形
  • 在正交视图中渲染所有几何体
  • 在非 z 测试的排序层中渲染正交几何(从后到前),在两者之间渲染透视几何。

我假设您已经知道前两种方法的缺点,所以这取决于您是否可以接受。我认为第三种方法是最传统的。

于 2009-01-22T00:15:50.460 回答