Programming Models and Shaders (RenderMan) II






Caustic Light Source Shader

The goal was to find a cheap and quick way to fake the overall visual look of caustics created by water through the creation of a light source shader.


RSL - Caustic Light from Sean Dooley on Vimeo.



Overview

Using the same concept as a surface or displacement shader, I created a shader for a light source who's goal was to create a visual effect similar to that of caustics. The method I created was to modify a noise wave (see the Technical Breakdown section for details) to essentially limit or "color" the light that is created. Much like an alpha mask or a color mask for a surface shader, the light source shader can use a very similar principle in that I can "specify" or limit what areas receive light or don't by using a traditional color map. In knowing that, I can use a color map or any other means at my disposal, such as a noise wave.

After developing the basics of the light and the color, I also developed some additional features to the light (that you would expect to see in a caustic effect/light) such as the ability to have the effect or light created for the caustics to be reduced over a specific depth. I built in controls to artistically control and limit the range at which the caustic effect is visible.

Review

What I Learned/Challenges

- I learned how to create a light source shader and how you can use that light shader to reference and modify surface shaders that the light illuminates.
- I learned how to modify a noise wave to the extent that I did to allow for controlled randomization.
- I learned how to create AOV images (even though I did not use them in this project).

Future Improvements

- I would've liked to modify my light source shader to create an AOV secondary image and use that for compositing instead of creating a separate render layer like I did for my compositing.
- I would've liked to go back and further develop the surface shaders and add some bump to the surfaces and give larger variance to my underwater scene.
- I would've liked to better populate the environment and add some larger variety and life to my environment.

Technical Breakdown/Extra Information

The above is a breakdown of the manipulation of the traditional noise wave that was used to accomplish the overall caustic-like effect of my light source shader.

The below are the various images and passes that were used (although some are more for visualizing what I did) to create my final rendered image.

What the Model Actually Looks Like Inside of Maya - RenderMan Smooths the Geometry

Beauty/Diffuse Render


Caustics Only Render


Z-Depth Render

Vertical Depth Render

Looking Onto the Vertical Depth


Final Composite Render - w/ Depth of Field, Color Correct, and Contrast/Saturation Edits

---------------------------------------------------------

This class continued to build upon RenderMan I by developing more complex shader writing using RSL and integrating those shaders with Maya. New concepts were developed such as Conditional Evaluations and AOV Secondary Images. To see a more complete and technical breakdown of all of these projects, and a few of the smaller concepts, please visit my RenderMan II web page developed just for this class here.

Back to Top