在DirectX 9中对多边形进行排序以进行正确的Alpha混合?

时间:2010-11-01 10:19:03

标签: graphics directx alpha alphablending

对多边形进行排序以使它们正确混合的正确方法是什么?我认为的基本概念是将最远的多边形首先按顺序渲染回最近。但是交叉多边形的情况呢?

2 个答案:

答案 0 :(得分:1)

  

排序的正确方法是什么   多边形,以便它们正确混合?

将它们排在前面。

  

但是交叉多边形的情况呢?

简单......不要这样做。如果你别无选择,那么你必须在它们的交叉点分割多边形。

编辑:值得注意的是,找到交叉点和拆分将非常缓慢。您可以使用某种加速结构来帮助您。

使用BSP对静态透明多边形进行排序和分割是很常见的。

答案 1 :(得分:1)

坦率地说,我会选择深度去皮和合成传球。我已经看到了这种算法的一些实现,大多数时候剥离2或3层是“足够好”。

这也将使您不必管理用于存储网格的不同数据结构。一个缺点是它可能有点性能密集,例如,如果你有很多透明网格。