Keywords: main

Next: 3. Contour Shaders Up: 2. Physics Shaders Previous: 2.5 Participating Media

# 2.6 Photon Tracing in Participating Media

In order to compute volume caustics and global illumination in participating media, the media need volume photon shaders. A volume photon shader will usually have the same name as the corresponding volume shader, but with ```_photon`'' appended. Details on photon tracing in volumes can be found in the mental ray manual.

Volume Photon Shader: parti_volume_photon

parti_volume_photon is the volume photon shader that matches parti_volume. It has the same parameters.

        color "parti_volume_photon" (
                integer     "mode",
                color       "scatter",
                scalar      "extinction",
                scalar      "r",
                scalar      "g1",
                scalar      "g2",
                scalar      "height",
                scalar      "nonuniform",
                scalar      "min_step_len",
                scalar      "max_step_len",
                scalar      "light_dist",
                integer     "min_level",
                boolean     "no_globil_where_direct",
                array light "lights")

min_level is the minimum refraction level at which photons are stored. (The maximum level is set with the global option `photon_refraction_depth`.)

light_dist, no_globil_where_direct, and lights are ignored since there is no direct illumination in the photon shader.

All other parameters are identical to the parameters of parti_volume.

Photon Shader: transmat_photon

transmat_photon is the material photon shader that matches transmat. It has the same parameters. It simply traces a photon further in the direction it came from.

        color "transmat_photon" ()

There are no parameters.