我正在尝试使用以下幼稚技术来实现与对象无关的透明度(OIT):
对不透明和透明对象进行排序。
使用深度写入渲染不透明。
禁用深度写入,启用 Alpha 混合并渲染透明对象。
如果我只有完全不透明和透明的对象,它就可以工作。但是如果某些对象具有透明的 alpha 纹理(我的所有网格都是平面的)并且需要 Alpha 混合,而其他的都是透明的,那么这种情况下的例程是什么? ? 目前,如果我首先渲染透明并打开深度写入和 alpha 混合,然后渲染具有 alpha 通道纹理的对象(深度注销,混合)会发生什么是最后一个渲染平面的部分与第一个相交飞机被淘汰。这是一张描绘我所追求的图片:
两个平面都具有一定的透明度,并且仍然保持深度排序。我知道我可以像这样对 OIT 使用更复杂的方法。但是是否有可能在不进入片段链接列表等的情况下做到这一点?