๐ŸŒŠ๐Ÿฆž Overcast Ocean Scene ๐Ÿฆž๐ŸŒŠ

Playground without Sound:

Playground with Sound:

Note: this implementation maintains the license.
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License

I did this as a recent service to my students who have old iPads that donโ€™t have WebGPU support. I wasnโ€™t concerned about doing a completely independent rewrite. This spring I intend to do a MIT Licensed independently written ocean shader with significant improvements over this one.

13 Likes

That is some really pretty water!

1 Like


The only thing that makes me a bit sad is the license restriction on this shader. If I want to monetize my game in the future, Iโ€™ll be forced to disable this ocean because of the Non-Commercial clause.

Technically, to use this commercially, I would need to track down Alexander Alekseev (the original creator) and also get permission from Eric Eisaman for his specific improvements and port to Babylon.js.

Itโ€™s an incredibly cool implementation, but to keep my projectโ€™s future safe, Iโ€™ll likely have to settle for a simpler water shader with a more permissive license (like MIT). Thanks to Eric for the great work on this port anyway! :face_with_bags_under_eyes:

1 Like

Thanks for sharing your perspective and concerns @onekit . I have to honor my inspiration and stay true to my heart and act in strict accordance with the license. I truly do however, intend to do an independently written MIT Licensed ocean shader this spring, from scratch, with several elements not present in this particular shader.

2 Likes

Eric, thanks for sending me the link to the MIT-licensed ocean version.
I tried wrapping it in BabylonJS, and it worked!
Check it out: Babylon.js Playground
:ocean:

5 Likes

Bro @SirFizX this should go in the materials library of Babylon.js !!!

1 Like

See the Pen Untitled by Hitesh Sahu (@hiteshsahu) on CodePen.

I experimented a bit with your Shader code. It looks great when you are near ocean but it looks blurry from bigger distance.

playgroudn: https://playground.babylonjs.com/#O03DUQ#2

1 Like

Good point.

I incorporated a material level โ€œfog-likeโ€ blurring effect at a distance. That is what you are experiencing. I did this in the shader itself particularly to incur less compute as an alternative to volumetric fog or other separate compute.

1 Like

Here is a full MIT Licensed rewrite in WGSL running in the WebGPU Engine.

3 Likes