Neopallium / bevy_water

Dynamic ocean material for Bevy.
https://neopallium.github.io/bevy_water/
116 stars 11 forks source link

Implement Tessendorf waves #23

Open virtualritz opened 1 year ago

virtualritz commented 1 year ago

A C++ source that could easily be ported is e.g. available as part of the Houdini Ocean Toolkit here:

https://github.com/eloop/hot

A nice property of this algorithm is that it outputs parameters that can be used to drive foam (shading) and spray (particles).

Neopallium commented 1 year ago

Do you know if it can run real-time?

It looks like it will take some work to port it to a shader or even Rust code.

virtualritz commented 1 year ago

Do you know if it can run real-time?

Absolutely. I ported it to a Maya plugin over a decade ago and it ran realtime, CPU-only, then.

Neopallium commented 1 year ago

I did some looking into this. I don't have the time to work on it right now, but it is interesting and I will try working on it in the future.

Some more useful links: