我正在使用Sprite Kit和Liquid Fun(Google 用液体实现 Box2d)开发游戏。在我应用阈值着色器使液体更真实后,我偶然发现了一个奇怪的行为,可以在这个视频中看到:当前行为
可以在此视频中看到它的行为方式:正常行为
我在包含所有粒子(SKSpriteNodes)的SKEffectNode上应用着色器
这是我的阈值着色器上的代码:
void main()
{
vec4 color = texture2D(u_texture,v_tex_coord);
if(color.w > 0.4) {
color = vec4(18.0/255.0, 122.0/255.0, 232.0/255.0, 1.0);
} else {
color = vec4(0.0, 0.0, 0.0, 0.0);
}
gl_FragColor = color;
}
有没有人知道发生了什么?