Ever since I was a kid, I loved going to the beach-side during summer; warm breezes, sea waves shining under a bright lone sun... Summer truly is one of my favorite times of the year even today and my love for the sea, ocean and water in general has shined in my work as well but for the complete opposite reasons. In this blog-post I want to talk more about my experience working with water in the digital space, the great challenges and why I love it for the opposite reasons to real life.
During the second year of university, I had the chance to watch a movie called: Waterworld. Essentially its Mad Max but in a flooded world with jet ski pirates, giant dock outposts and a great search for dry-land. The movie was a flop and probably it was a "bad" movie but for me, it was a really cool experience and I was especially surprised at the setting for a movie this old. Inspired by this, a great desire to create water shaders/effects grew and with that I started going down a rabbit hole on how to achieve pretty water in a digital setting.
What I did not expect was how difficult water is in a digital setting. Firstly, water is a great mass of liquid and the simulation of this while more than possible, requires a lot of processing and cache(stored instances of geometry and 3D space data) storage, but say you have a volume of water with a mostly stable silhouette, you could just work on a shader that mimics the look of water as oppose to a full particle/fluid simulation. While this does simplify the process of creating a volume of water, you still have countless challenges; you have a slightly transparent volume with different levels of light scattering & color change based on many parameters like light color & depth, white foams that appear on waves & after waves on the surface and not to mention unique values based on the type of water you are working with like; murkiness, caustics(distorted light reflections from the water) and many more. But, its all of these challenges that really motivate me to work on it.
Working in a project that is so detailed and complicated forces me to learn all of these aspects which not only help with all future projects but also when the result is finally rendered on the screen... it just puts a bright smile on my face. Its not the calmness of it but rather the resulting fruit after all the labor that makes me love working with water in 3D.
With this blog-post, my objective is not just to talk about my weird obsession with digital water, but also to encourage anyone who is interested to learn the fundamentals of shader development and wants a project to help them understand the many layers of 3D in general. I encourage anyone reading this to go and try to experiment with fluids and water in the digital space, for the depth of something so shallow can really help you learn a thing or two... also stop hating on Waterworld.
No comments:
Post a Comment
Did you like this post? Do you have any questions? Please leave a comment!