我正在写一个小3D引擎。我刚刚在程序中添加了alpha混合功能,我想知道一件事:与相机相比,我是否需要对所有基元进行排序?)
让我们举一个简单的例子:我有一个由1个天空盒组成的场景和1个带有alpha混合叶子的树!
以下是此类场景的屏幕截图:
直到这里,关于叶子相对于彼此的α混合似乎都是正确的。
但如果我们离得更近......
...我们可以看到图像右上方有一点麻烦(叶子周围的区域形成一个四边形)。
我认为这个错误来自于这两个四边形(基元)应该比后面的那些更晚呈现。
您如何看待我的假设?
PS:我想精确所有关于叶子的几何体只在一次绘制调用中呈现。
但如果我是对的,那就意味着当我需要像这棵树那样渲染一个alpha混合网格时,每次我的相机移动时我都需要通过从相机的角度对所有基元(三角形或四边形)进行排序来更新我的VBO视图。所以后面的原语应该首先呈现......
您如何看待我的想法?