【发布时间】:2011-11-30 16:12:55
【问题描述】:
我在 Google 上搜索过,但没有现成的脚本 - 与 Flash 上的效果相反。我检查了The Water Effect Explained 上的算法,还测试了Perlin Noise 的实现,它可以很好地模拟平面上的波的末端。我正在寻找基于鼠标悬停/悬停动作的几个 Flash 效果的相同实现。这是针对交互式地板库的,我很乐意在这件事上远离 Flash,特别是为了避免对代码进行如此简单的逆向工程——是的,我知道它可以只使用一些现成的 Flash 代码,但我只会将其用作最后的手段。
有没有人看到 Pygame 的这种效果的合适实现(使用或不使用 OpenGL)?
编辑: 任何人都可以使用 OpenCV/OpenGL 和 Pygame 提供此效果的合适实现吗?
这里的罪魁祸首是(代码)接口,用于传递将通过 Python 从外部解释器(跟踪器 - 虽然不是 TUIO)发送的值列表。我已经尝试了几天,但 Pygame 无法像纯粹的 C/C++ 代码(用于 OpenGL 中的着色器)那样快速生成任何东西,而且我对 C/C++ 的了解是空的。所以目标是至少有来自 Python 代码的内容。
一个很好的例子,与 Flash 效果不同但仍然很好是Water Simulation using Java applet。
(赏金显示答案没有足够的细节,因为这是最接近“OP 无法创建他想要的代码,因为他缺乏基本技能,这个答案可能对几个人有用”)。
【问题讨论】:
-
可能还想试试 gamedev.stackexchange.com,那里的运气可能更好。
-
我很无聊,并使用 C++ 和 OpenCV 从您的第一个链接实现了算法(我还没有尝试过 pygame)。 github.com/mpenkov/sandpit/tree/master/stackoverflow。实现起来并不难,但它看起来不如我上面链接中的 Flash 版本。我还是不知道为什么。
-
@misha,我设法在我的 Ubuntu VM 上运行了你放在一起的代码。太棒了。
-
@misha,我认为 Pygame 比纯粹的 C++ 代码要慢。稍后我将尝试将您的实现移植到纯 Pygame,然后是 Pygame + OpenGL 并在此处发布结果和/或源代码。应该花我一到三天的时间。
标签: python opengl image-processing pygame effect