Photon tracing

From Wikipedia, the free encyclopedia

Photon tracing is a rendering method similar to ray tracing and photon mapping for creating ultra high realism images.

Contents

[edit] Rendering Method

The method aims to simulate realistic photon behavior by using an adapted ray tracing method similar to photon mapping, by sending rays from the light source. However, unlike photon mapping, each ray keeps bouncing around until one one of three things occurs:

  1. it is absorbed by any material.
  2. it leaves the rendering scene.
  3. it hits a special photo sensitive plane, similar to the film in cameras.

[edit] Advantages and disadvantages

This method has a number of advantages compared to other methods.

  • Global illumination and radiosity are automatic and nearly free.
  • Sub-surface scattering is simple and cheap.
  • True caustics are free.
  • There are no rendering artifacts if done right.
  • Fairly simple to code and implement using a regular ray tracer.
  • Simple to parallelize, even across multiple computers.

Even though the image quality is superior this method has one major drawback: render times. One of the first simulations in 1991, programmed in C by Richard Keene, it took 100 Sun 1 computers operating at 1 MHz a month to render a single image. With modern computers it can take up to one day to compute a crude result using even the simplest scene.

[edit] Shading methods

Because the rendering method differs from both ray tracing and scan line rendering, photon tracing needs its own set of shaders.

  • Surface shader - dictates how the photon rays reflect or refract.
  • Absorption shader - tells the ray if the photon should be absorbed or not.
  • Emission shader - when called it emits a photon ray

[edit] Renderers

  • FRYRENDER - A physics-based renderer which implements photon tracing, spectral rendering, and realistic camera and shutter physics. Plugin interface for 3DS Max, Maya, Sketch-Up, and more.

[edit] Future

With newer ray tracing hardware large rendering farms may be possible that can render images on a commercial level. Eventually even home computers will be able to render images using this method without any problem.

[edit] External links