Graphics 不透明对象是否应始终在alpha测试对象之前渲染?

Graphics 不透明对象是否应始终在alpha测试对象之前渲染?,graphics,rendering,direct3d,Graphics,Rendering,Direct3d,摘自(第32页) 理想的渲染顺序: 先不透明,然后进行阿尔法测试 为什么?假设我有一个几乎平坦的地形,上面有很多草,在地形之前渲染草可以利用早期Z来剔除地形的大量像素进行着色。带有透明多边形的场景应该按照从最远到最近的Z排序顺序渲染(相对于相机视图方向) Alpha通道通常用于调节透明度强度,在这种情况下,您的陈述是不正确的,因为Alpha测试多边形也可能是透明的 在某些情况下,alpha通道用作遮罩(例如精灵或字体),渲染的多边形根本不透明。在这种情况下,语句为true(取决于场景组织和渲

摘自(第32页)

理想的渲染顺序:

  • 先不透明,然后进行阿尔法测试

为什么?假设我有一个几乎平坦的地形,上面有很多草,在地形之前渲染草可以利用早期Z来剔除地形的大量像素进行着色。

带有透明多边形的场景应该按照从最远到最近的Z排序顺序渲染(相对于相机视图方向)

Alpha通道通常用于调节透明度强度,在这种情况下,您的陈述是不正确的,因为Alpha测试多边形也可能是透明的

在某些情况下,alpha通道用作遮罩(例如精灵或字体),渲染的多边形根本不透明。在这种情况下,语句为true(取决于场景组织和渲染管道)

有关更多信息,请参阅


简而言之:阿尔法混合的绘图顺序问题。如果你使用的是添加剂混合,那就没什么大不了的了。