透明物体上的Painteralgorithm

为什么绘制透明物体时必须使用画家的algorithm? 你不能只使用一个z缓冲区,绘制所有非透明/不透明物体,然后绘制所有transparant /不透明物体?

对不起,如果这是一个愚蠢的问题,但我想这是所有初学者运行的东西。

您可以忽略sorting,但只能使用添加剂混合(在许多粒子系统中通用)。

用“正常”的乘法混合,sorting很重要。 颜色缓冲区积累颜色。 新的半透明效果使用源Alpha和源Alpha的逆来混合。 也就是说,给定当前颜色A和具有源αC的源颜色B ,使用D=A*(1-C)+B*Cfind最终颜色D

如果你正在寻找一个单一的组件,比如说,颜色缓冲区的值是100,试图在10%处混合50的值,然后在30%处混合100。 你得到100*.9 + 50*.1 = 95 ,那么你得到95*.7+100*.3 = 96.5

交换混合的顺序。 现在你得到100*.7 + 100*.3 = 100 ,然后是100*.9 + 50*.1 = 95

两个不同的最终颜色值基于它们的顺序。因此,如果您的目标是“看起来正确”的“标准”混合方程,则顺序非常重要。