当在离线或实时渲染中使用带有alpha值的纹理来建模像头发或树叶这样的东西时,计算机建模师似乎通常会尽量减少纹理中alpha的数量,因为它是非常密集的GPU。我想知道这对于alpha测试和alpha混合技术是否都是正确的?通过α混合,很明显,额外的alpha会导致更多的片段必须混合到alpha中。另外,如果使用与顺序无关的透明技术,我想更多的alpha会使它变慢(?)。然而,对于alpha测试,我们只是丢弃基于alpha阈值的片段。但是我想知道这个过程是否是GPU密集型的?
发布于 2022-10-27 09:02:59
我认为减少alpha混合(或测试)的原因与实际读-修改-写的成本关系不大,但更多的原因是增加了早期Z测试的使用,这在任何一个(比如PowerVR)系统或具有分层Z级的系统中都是可用的。
对于可以拒绝大量其他冗余工作的早期Z,驱动程序/API需要知道几何形状是100%不透明的。一旦有机会混合,早期的Z可能需要被禁用。请注意,这不仅仅是读-修改-写,我们应该关注-早Z经常避免运行潜在的V。昂贵的着色器。
对于有经过α测试的几何形状的情况,例如一棵树的叶子,用一对带有多个三角形的α混合三角形建模的每一片叶子可能是有益的,这样可以保证其中的一些tris是100%不透明的。所有的不透明的三线应分批在一起,并首先呈现为不透明。
https://computergraphics.stackexchange.com/questions/13058
复制相似问题