我正在使用 LibGDX 框架开发一个绘画应用程序,尽管这应该主要与 OpenGL 相关。
基本上,我正在寻找一种方法来防止我用来绘制的精灵在它们不完全不透明时相互重叠,因为这会产生很多令人不快的效果。将 1.0 alpha 的精灵绘制到纹理上,然后以所需的 alpha 将该纹理绘制回我想要的效果,但该方法将涉及在用户绘制时不断地重新创建纹理,这太密集而无法实现。
从我所见,对我来说最好的选择,基本而言,是在片段着色器中从另一个中减去这些精灵中的一个。我很确定这条路线可行,但我无法弄清楚如何才能在片段着色器中实际比较它们。两者都将始终使用相同的单一纹理,但它们将位于不同的位置。是否有可能像那样实际比较它们,还是有合适的替代方案?