William Schilthuis RSL Fire Shader  

Visual.Effects.Artist


Download files here:

(not yet available)

 

 

 

Reel / Blog / About

The purpose of this project was to write a surface shader that when used in conjunction with a water-like displacement shader would give a simple object the appearance of being an animated flame. As with the previous assignments, the emphasise was on the vital need to carefully observe and document a natural phenomena before creating a digital version of it.

 

This project was a quick run through a lot of new RSL concepts and features, so I'll probably be revising this section in the future. Below is an overview of my basic fire shader.

 

Reference

 

another view

 

Breakdown

Here is the main funtion of the code, which, as I will explain, combines several color functions into the main fire shader:

 

Oi = ((smoothstep(rim_width, 1 , dot)) - (opac_ramp));

Ci = Oi * Cs * (surfcolor + opac_ramp) * Kfb;

 

"Oi" or opacity, is created by subtracting a vertical ramp from a normal-based ramp.

ramp based on surface nornals

vertical spline ramp

combined opacity

 

"Ci" or color, is created by adding a color spline ramp to a ramp for brightness

color spline ramp

brightness spline ramp

addition of color ramps

 

The result is close to what I was looking for, but I was not carefull about correctly adding, subtracting, and multiplying colors in my shader in order to get the most acurate end result. This is something that needs later revision.

 

Results

 

 

HERE is the final code for the surface shader

HERE is the final code for the displacement shader

 

For future updates and improvements, check :

williamgs.com/renderman

Updated: June 16, 2011