我的应用程序在正投影中显示大量对象。 每个对象都是由具有不同纹理的同一顶点上的几个精灵组合而成。
简化:
每个对象都有2个精灵:填充矩形和轮廓矩形
我为每个精灵类型都有一个网格(顶点和属性) - 一个用于所有对象填充,一个用于所有对象轮廓。共2个网格。
我在两个阶段绘制我的对象(精灵) - 填充网格(包含所有填充精灵)和轮廓网格(包含所有轮廓精灵)
对于每个对象精灵 - (在所有网格中) - 我给出相同的z值,以便正确绘制。
使用depthFunc(LEQUAL)绘制相同的z值
如下图所示:
问题在于我想要更改所有对象的透明度。深度阻止绘制一些对象,所以我看不到后面的对象。如果我突然禁用深度测试,所有轮廓将跳到前面(当对象与超过2个精灵组合时,在实际应用中看起来更糟糕。)
对象的排序在这里不起作用,因为我正在逐个绘制每个网格(填充和轮廓)。
有没有什么可以做到的?