我希望在 BlitzMax 中创建发光的线条效果,例如星球大战光剑或激光束。不必是实时的,而只是 TImage 对象,然后可能保存到 PNG 以供以后在动画中使用。我很高兴使用 3D 功能,但它将用于 2D 游戏。
由于它将在黑色/空间背景上,我的策略是绘制一系列具有颜色和高透明度的白色模糊线,然后最终中心线不那么模糊,更白。我想画的其实是贝塞尔曲线。绘制曲线很容易,但我无法使用上述技术来创建良好的激光/霓虹灯效果,因为它看起来非常分段。所以,我认为最好在渲染良好的地方使用模糊效果/着色器,这是一条 1 像素的贝塞尔曲线。
我遇到的问题是:
- 将着色器应用于屏幕上绘制线条的特定区域。如果有办法在纹理上画线,然后模糊该纹理并保存 png,那将是很棒的消息。必须有办法做到这一点,但我还没有让正确的元素一起工作。任何熟悉这些东西的人的帮助将不胜感激。
- 仅使用 2D 调用可能是有利的,更易于理解和重用。
- 很高兴知道如何保存保留透明度/alpha 内容的 PNG。
ps 我已经查看了这篇文章(和其他文章),让示例工作,甚至开发了我自己的 5x5 着色器。但是,它是 3D 和场景范围的东西,似乎不能很好地转换为 2D 或只是某个区域。 http://www.blitzbasic.com/Community/posts.php?topic=85263