Jump to content

Pool Caustics (the shimmery light things under water)


Recommended Posts

Hello friends! Today I'll be showing you how to use PDN to emulate Pool Caustics. 

First things first: what are Pool Caustics? A caustic is just a fancy word for the little shimmery light thingies you see under water. Here's an example:




The big boys at NVIDIA and the other graphics folks want you to think you need to do ray tracing, and use GPUs, and simulate fluid dynamics to get these nice rings, but I'm here to tell you they're lying to you. We can do this 2000's style: back when computers only had 1 processing unit, and everyone hated Justin Bieber. All you need to make a lovely shimmering pool floor is your favorite photo editing tool, Paint.NET.


So, how might we make these cool looking ripply boys? Well, I have the answer in 8 easy steps. 


Step 1: Download the required plugins

To make the effect, all we need is Perlin noise. Luckily, I have already made a nice Perlin noise plugin for everyone to use! This is the only non-default PDN effect required. (Note: you may be able to do this with the default Clouds effect, as Clouds are Perlin noise with some extra stuff? I haven't tried, but my plugin has a few more options than the built in cloud one, so IMO it's worth it)


Step 2: Add Perlin noise to the first layer


Feel free to tweak the settings, but I've found making the blacks a little lighter, and the whites a little darker produces better results. Adding in some octaves makes the output a little "fuzzier" which I think adds to the general underwater feel, but it's also optional. 


Step 3: Add another Perlin noise layer


This is important: make sure the width and height are a little larger than the first layer you generate. I used 8 and 10 respectively. Also, make sure the color settings are back to straight black and white for this layer. 


Step 4: Effects > Distort > Morphology on the 2nd Layer


Just blast it here. Crank that dial up to 100


Step 5: Set the 2nd layer blending effect to negation



Step 6: Add a nice blue layer, and set its blending to overlay


Don't get too stuck on the blue color here, it's going to change. It's really just a place holder right now. You may get it perfect the first time, but the odds are something like 1 in 256^3 so good luck. Just fiddle with it for a bit, and move on. I swear you'll have a chance to mess with it some more later


Step 7: Boost the Brightness and Contrast of Layer 2


Now we're getting somewhere. This is starting to look rather poolish if I do say so myself. 


Step 7.5: Give it some style (i.e. fiddle with layers 2 and 3 endlessly)

Now, when I finish step 7, it never looks exactly how I want it. So I just go back and forth adjusting the color in layer 3 and the brightness/contrast on layer 2 until I get something in the neighborhood of what I'm looking for. At this point, there really isn't a great guide for how to proceed, it's entirely up to you. Let your imagination guide you. There are no wrong answers. This is what I finally settled upon. I think it looks like a nice pool in the middle of July. It pleases me to look at. I hope it pleases you too. 



Step 8: Sharpen her up (Effects > Photo > Sharpen)


When the colors are to your liking, merge all the layers (the order you merge is 2 down to 1, 3 down to 2+1. Trust me, the layer blending stuff gets very sad otherwise) and apply the sharpen effect. This will make the shiny parts shinier and the dark parts darker. I suppose this step is optional, but I think it makes the whole thing look a lot better. 


And viola! You're done! Look at how nice your pool floor looks: 



Pretty sharp if I do say so myself. 


I hope you all have enjoyed this tutorial on simulating water caustics in PDN. Feel free to play with the Perlin noise settings, colors and so forth and post your results! 



-- Zaya

Edited by zaya
Downresing images. Sorry about that!
  • Like 4
  • Upvote 3
Link to comment
Share on other sites

That's a very nice result @zaya <3


A small point, please be aware of Rule 29.  Which says:  Keep images no larger than 800 pixels tall or wide.


Thank you :)

  • Thanks 1


How I made Jennifer & Halle in Paint.net

My Gallery | My Deviant Art

"Rescuing one animal may not change the world, but for that animal their world is changed forever!" anon.

Link to comment
Share on other sites

1 hour ago, Pixey said:

That's a very nice result @zaya <3


A small point, please be aware of Rule 29.  Which says:  Keep images no larger than 800 pixels tall or wide.


Thank you :)

Oops, I’ll go back and fix this. It has been fixed. Sorry about that!

Edited by zaya
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...