Final Project Report




Entitled:




by Brenden Schubert





  • Summary of Progress:

    When beginning this project (see proposal), I had grand visions of using diffusion processes to model fire and smoke, volumetric lighting and shading for realistic flame rendering, and the rib format's movement specification for accurate motion-blur. This turned out to be a difficult undertaking - see Figure 1.



    Figure 1 - LRT sucks.


    So rather than a physically-accurate, scientifically rigorous, and elegantly integrated solution, I embarked on a journey of hacks, recklessness, and Broganization.

    So what attributes of these pictures of fire are most distictive? Several obvious ones are the bright color of the fire, the parabolic bands of light, the irregularities in the bands, the motion-blur of the people, and the dim glow cast on the surroundings. A couple more subtle features are the reddish halo around the bright bands of fire, the streaks of flame/smoke left by particles flying away from the main band of fire, and the slight discontinuities in places in the bands of flame.

    Obviously, the bright color and parabolic shape of the bands of fire are most important to this effect. Since LRT doesn't implement motion blur, I implemented a parabolic-moving-sphere primitive, which returns an intersection at any point in the path of the motion of the sphere. Since the flame is so bright, actually blurring the moving sphere against the background is unimportant; the fire will saturate the film regardless of what is behind it. Figure 2 shows a rendering of this primitive without any shading (all intersections are simply assigned the color red).



    Figure 2 - Single band of fire, no shading.


    To make the path of the flame more realistic, we add in two frequencies of noise to the velocities of the sphere along the path.



    Figure 3 - Single band of fire with positional noise.


    The actual paths of flame in the photographs were created by an ignited roll of toilet paper being kicked. As the roll of toilet paper flies through the air, it spins; this creates variation in the width of the band of fire, and this variation tends to be at least somewhat periodic, since the toilet paper roll is spinning at a near-constant rate while it is aloft. To capture this effect, we add in some periodic noise to the radius of the moving sphere, as well as high and low frequency noise to account for other irregularities in the width of the flame bands.



    Figure 4 - Single band of fire with positional and radial noise.


    We would like to also model the reddish halo around the edges of the bands of flame. We track this area by using the path of a slightly larger sphere undergoing the same motion. By intersecting first with the smaller sphere, and then with the larger if the first sphere is missed, we can capture only the border of the bright band. This region is colored green in Figure 5.



    Figure 5 - Main band of flame in red with secondary halo colored in green.


    Finally, we shade the center band with a bright, almost white color, and shade the surrounding halo red. We calculate how close a point in the halo is to the bright band using the distance between the two sphere intersection points of the ray (in case you haven't figured it out, none of this is not a hack), using a damping and a power function to get the desired falloff.


    Figure 6 - Completed band of fire and halo with shading.







  • Can you guess which is the rendered image and which is a photograph?


    You have no idea of the magnitude of hackage required to get lrt to spit out this simple image...




    Some cool pictures of diseased sperm:











    And lest we forget the theme of this little endevour..

    © 2003 Brenden Schubert