kamranjon
The other two Godot repos by this person are very interesting as well. I love the level of detail they add to explaining their repos. This one is particularly interesting: https://github.com/2Retr0/GodotGaussianSplatting

Wonder if they are a student, they seem to cite other work frequently and have a strong grasp on recently published materials.

jesperwe
20 years ago I could spend months tweaking ocean surface in renders and not get even close to that. Amazing how good this is!!

Although the demo clip feels a bit exaggerated (saying this having over 50k Nm open water ocean sailing in my logbook). Waves that sharp and high would need the wind blowing a lot stronger. But I am sure that is just a parameter adjustment away!

Since it is in Godot I assume the rendering is real time? Does it need a monster GPU?

fcatalan
Things like this brought me into computers, but along the way I fell for the easy and boring life of glueing libraries, endpoints and corporate bullshit that leads to burnout. Perhaps some day...
viraptor
Different approaches, but if someone's interested in waves/ocean simulation, Acerola published some awesome (as always) videos on this topic. https://youtu.be/PH9q0HNBjT4 and https://youtu.be/yPfagLeUa7k (edit: just realised one is linked in the references, just under the real name rather than nick)
btbuildem
It's interesting how hard this problem is. We've been trying for decades, and we're still in the uncanny valley with it.

If you freeze-frame this, the peaking waves look like snow-capped mountains. It feels unrealistic because for water to have features this sharp, it would have to be quite windy -- and the wind would never be blowing straight up. Here, the sharp features would need to be directional.

The simulation has the swell nature of the waves down pretty well though. There isn't as much horizontal movement, as more up-and-down, which is what you'd expect to see in open water.

tomcam
I spent years living on the beach. When you live on the beach, you watch the ocean for hours at a time because it’s mesmerizing and feels sensational. I wouldn’t guess for a second this was a render.
Eddy_Viscosity2
This is great, but this approach will break down a bit for REALLY big waves as they become non-linear. Water waves are not sinusoidal, but are close enough for small and medium wave heights that these methods work really well. The big big waves are not only much farther from sinusoidal but the waves start interacting with each in a non-linear way that can't be captured by the linear superposition approach used here.

So for most sea states, this is fantastic. But if you want to do the 'perfect storm' wave or something like that, you need to use a different approach for realism.

tsurba
Shadertoy also has nice ones https://www.shadertoy.com/view/Ms2SD1
convivialdingo
Fourier was measuring tidal waves when he came up with wave frequency transforms - so in a way this is almost a full circle.

Very impressed!

bnegreve
It is very impressive, and better than anything I've seen before but think something is bit off with the swell. If I had to explain I would say that high frequency waves don't travel on top of low frequency waves the way they do in the video.
julosflb
Very neat! I'm hydrodynamics by background and I wondered a long time ago why this kind of approach was not used as I always found ocean waves to look awful in movies. Once you describe ocean sea state in frequency domain, it is quite easy to give to floating objects like ships realistic motions using what we called RAO in this field (linear operator). You can also model sea disturbance (diffracted and radiated waves) caused by an object in a similar fashion.
lambdaone
This is astoundingly good work; even though, as other commenters have said, it could still be improved on, the fact that it achieves such a level of realism with such a simple and elegant framework is truly impressive.
eps
Don't have any substantial comments, but I must say that the result is really impressive. Just wow.
kelseyfrog
Any other resources on empirically derived rendering/animation methods?

A lot of hobbyist gamedevs can think of tutorials where we "slap noise" on various things. While a good temporary use, there's an pedagogical gap between beginner and advanced methods.

Another that comes to mind is vegetation animation. Like ocean waves, we often see animators throw a few octaves of sin/cos on plants to simulate wind, but because it doesn't spectrally match what we see in the real world, it looks off.

lukko
Oh my - this is great!

Does it mention what the density of the mesh is, or is it a flat plane with no displacement?

Also, I wonder if there's a way to optimise the foam particles in some way. It does seem very wasteful to generate them across the whole plane, when most are culled. I wonder if the particle emission / creation could be linked to foam density?

kroolik
That's some National Geographic clip. Now, show us the demo!
bee_rider
It looks really good.

Out of curiosity, I’m sure everybody has heard of the FFT. They are quite general and used all over the place, and I imagine they’d be the first thing somebody would reach for if they had to describe waves.

But I’d never heard of Gerstner waves. This leads me to believe that Gerstner waves are a more specialized thing. Since lots of work has already gone into rendering water, I tend to assume the method with a name I’ve never heard of was only reached for after very clever people rejected Fourier transforms for some reason.

But, the results look better than most of what I see elsewhere. Has something changed to enable the more conventional solution?

tonetegeatinst
What level of math is this?

I struggled in calculus over the summer but passed and am currently taking discrete math but recognized basically none of the math equations in the github project readme.

HL33tibCe7
This is beautiful, I'd love to have this as a lockscreen or even a screen panel on a wall somewhere
nox101
Reminds me of Sea of Thieves

https://youtu.be/aGogFt4bhTM?t=12

cheschire
While I appreciate ever more realistic water bodies, the part that game makers really struggle with is where the water encounters an obstacle.

I did not see any mention of this in the description. Conceivably though, this is not a huge conceptual leap right? A game maker would simply need to add logic to impact the frequencies near objects, no?

shireboy
Nice, but may need to adjust the limits: https://news.ycombinator.com/item?id=41631177
chhs
Looks incredible!
Archelaos
The demo looks unrealistic. The waves never break. Increasinlgy steeper slops with pointy peaks travel from left to right until they just sink down towards the left.
rkagerer
The sample video is really impressive, it's worth a peek.
aetherspawn
I think the downside of this approach is you can’t ie split the waves with a ship.
Mattish
2 of the linked references have full implementations of very similar things, with some shared references.

Is there something here which godot is enabling which wasn't previously possible? It seems to be entirely GPU compute workload with particles which are available as part of all mature rendering engines

bobim
I would like a Silent Hunter III remake with this.
arminiusreturns
This is awesome to see! Much more progress than I have made on my gplv3 version for my system. (the original intention was to replicate Blackwake style ship combat)

For what it's worth, the real difficulty in gameplay is getting physics objects to interact with the waves properly.

jkmegtu
Free fire
pmarreck
How do I get this masterpiece running locally to play with? I don't even know what Godot is (but I've used makefiles and such)
wslh
Great! I've shared this with every physicist I know who's not directly involved in animations.

Quick question from my swimming class yesterday: We know that professional swimmers use a range of technologies, both old and new, in their training. Is there currently a model that fully simulates the physics of swimming across different styles? If not, this seems like a great project idea!

ReptileMan
That looks wet. And honestly it is the best compliment I can give.
eniwnenahg
[dead]
eniwnenah
[dead]
bschmidt1
Looks awesome. Is it from a fixed perspective only? If not should show the camera rotation in the video demos so it's clear how it could be used.

Would be curious to see how it looks from different angles etc. as the light changes.