Demo: GEAR
Source: GitHub - chasergit/big_scene
The scene has: water, grass, lightmap, instanced grass, files loader, sound engine, gun etc.
Todo list: shooting into water with foam, sailing on a boat, jumping into water, the sound of waves when approaching the edge of the water.
Q - apply water, lightmap, grass, postprocess shaders changes realtime if files are changed.
E - change the position of the sun.
Performance GPU:
underwater_pass: 0.42ms
underwater_ripples_pass: 0.30ms
water mesh, refraction depth, water depth: 0.65ms
correction_pass: 0.16ms
total scene with terrain etc: 4ms
13 Likes
Added shadows to water and caustics.
8 Likes
Not finished yet. Maybe in this year
Water styles, movement of the sun.
5 Likes
Added water types: lake, infinite ocean.
Added lods for lake and ocean.
Added waterline for waves.
4 Likes
Stunning effect, really looking forward to seeing the finished work.
1 Like
Interesting project! Getting waves to merge with the shore is a big challenge, especially if you are trying to add breaking waves. Are you using an iFFT wave generator?
1 Like
First waves was from here GLSL Sandbox; but now removed.
Now use 3 gerstner waves for future ray intersectioon, buyonce.
If you are using WebGPU and later need more waves/control, you can use my Ocean module, which you can use to generate iFFT waves for a three.js plane. (But you probably know that.)
In the meantime, during the development process, simpler is probably better.
I have not tried to create something with a nice shoreline yet, so I am interested to see what you come up with. It looks like the geometry/color of the lakebed/ocean floor is a key factor.
All big stuffs finished. In future if i will have time then add byounce, shoot foams, boats foams, 3d wave sounds depending of distance to shore, player diving by clicking space bar, optimised checking player and wave intersection then jump from air to water. But better use flat water or with very small waves for using ray intersection with only 2 triangles - square when shoot. Flat ocean looks pretty good.
1 Like
Added demo and source to first post.
3 Likes