基本上我想要实现的是精灵高光动画效果,如下所示。
这个想法是使用像Overlay(Photoshop)这样的混合模式,白色半透明渐变精灵在另一个精灵(从左到右)的顶部移动。困难的部分是顶部渐变精灵应该只绘制在下面的精灵的可见像素上。应该丢弃渐变叠加层的另一部分,以不影响下面的背景或其他精灵(如最右边的图像)。
是否可以通过巧妙的OpenGL混合模式组合以及如何创建自定义着色器来组合这些精灵来实现这种效果?
背景:我使用libgdx和OpenGL ES 2.0,应用程序在桌面,Android和iOS上运行。
答案 0 :(得分:0)
有许多方法可以做到这一点。最简单的一个:
您应该一次性渲染按钮和hilight。在片段着色器中,在采样按钮纹理和hilight纹理之后,计算输出颜色与混合(可以混合(c1,c2,c2.a))和alpha作为按钮纹理alpha。当然可以通常的方式进行混合:(srcalpha,1-srcalpha)