【发布时间】:2013-03-13 17:47:27
【问题描述】:
我正在开发一个基于 LibGDX 框架的 Android 应用程序(虽然我认为这不会对这个问题产生太大影响),但在使用透明绘图时我无法找到一种方法来获得我想要的结果精灵。问题是精灵在它们重叠的地方明显地相互叠加,类似于这张图片中显示的内容:
这对于我想做的一些事情来说非常难看,甚至完全破坏了其他部分。我希望他们做的是无缝地合并在一起,就像这样:
到目前为止,我唯一的成功是将整个精灵序列以完全不透明度绘制在单独的纹理上,然后以所需的不透明度绘制该纹理。我有这个工作得很好,我可能会让它在我需要的大部分工作中工作,但现在最大的问题是这些东西是动态绘制到屏幕上的,以及修改一个相当大的纹理的过程和将其发送回去对移动设备来说是相当繁重的,并且会导致无法接受的性能水平。
我花了很多时间寻找更理想的解决方案,包括尝试混合模式并提出古怪的公式来平衡 alpha 和颜色值以使事情变得均匀,但没有什么特别成功。我的猜测是,唯一可行的方法是前面提到的创建纹理并应用 alpha 差异的方法,但我不确定在低功耗移动设备上使用的最佳方法。
【问题讨论】:
标签: android opengl-es sprite opacity alpha