【发布时间】:2014-01-08 12:02:26
【问题描述】:
我对 LibGDX 和 OpenGL 还很陌生,但我设法使用 Box2D API 进行了简单的液体模拟。看这个链接(这是别人的动画):
目前我将液体粒子渲染为圆形,就像在第一张图片中一样,但我想让它看起来更自然,就像在第三张图片中一样。
答案可能是使用距离场,我尝试了这种方法,但没有效果。我正在使用 SpriteBatch 类将每个粒子绘制为纹理,但这可以更改。我制作了一个纹理(来自程序 Pixmap),将每个粒子表示为一个实心圆,Alpha 通道从中心进一步减小,因此效果类似于第二张图片。
现在,我必须为 alpha 通道启用阈值过滤器,例如:“仅绘制 alpha > 0.5 的像素”。这是后处理步骤,因为在绘制完所有粒子之后,像素的 Alpha 通道是什么很重要。可能会或可能不会使用着色器(ProgramShader)完成,但经过一些研究,我仍然不知道如何做到这一点。感谢您的帮助。
编辑: this 示例解释了该方法,但它是在 ActionScript 中实现的。
【问题讨论】: