0

我正在绘制两个 3D 对象,它们都可以独立地从不透明变为透明,并且它们可以相交(所以你不能说其中一个在另一个之前)。查看图像以获得更好的理解(其中一个对象是地形,另一个是区域):

正确平局

现在,如果我对它们都应用透明度,并在该区域之前绘制地形,则地形相对于该区域不是透明的,但该区域是:

不正确的透明度

最后,如果我在地形之前绘制区域,那么该区域对于地形来说不是透明的:

不正确的透明度 2

问题:如何在不依赖绘图顺序的情况下使所有对象对其余对象透明?

4

1 回答 1

0

你不能。至少,不是微不足道的——你正在做的操作本质上是依赖于顺序的。当从不同的视点和半透明度渲染时,即使是您的地形本身也会出现问题。

所以实际上你要么必须改变你正在做的事情,以便使用非顺序相关的操作(例如加法或减法混合,尽管在你的情况下这可能不会得到有用的结果),要么探索其他控制绘图的选项排序不仅仅是在对象级别排序。

例如,您可以研究深度剥离,这涉及在多个通道中渲染您的场景,在图层中合成像素。这可以处理相交的多边形,但是您需要渲染的层数越多,它的成本就越高。

于 2013-03-20T12:39:37.487 回答