Reproducing hair in computer graphics has always been a challenge, but it has certainly been more difficult for blondes. Now researchers at Cornell University have developed a better method for rendering blond hair. Their new algorithm, which starts by tracing rays from the light source into the hair, is much faster than the current best rendering one called "path-tracing." In some tests, the new method needed only 2.5 hours of computation instead of 60 hours for the path-tracing method. Does this mean that computer-generated blondes will have more fun? Wait for a future game or movie, and read more...
Here is a short introduction to this new algorithm, developed by Steve Marschner, a Cornell assistant professor of computer science and one of his students, Jonathan Moon.
Marschner and Moon's algorithm begins by tracing rays from the light source into the hair, using some approximations of the scattering and producing a map of where photons of light can be found throughout the volume of hair. Then it traces a ray from each pixel of the image to a point in the hair and looks at the map to decide how much light should be available there.
The result, in a test rendering of a swatch of blond hair, appears almost identical to a rendering by the laborious path-tracing method. Path tracing for the test required 60 hours of computation, while the new method took only 2.5 hours, the researchers report.
Below are three renderings of a 25 cm long blond ponytail composed of 27,000 fibers and lit from the front. "Direct illumination captures the surface highlight but has entirely the wrong color. Our new method correctly simulates the color and softness caused by multiple scattering in 2.5 hours, agreeing well with the 60 hour path traced result." (Credit: Jonathan T. Moon and Stephen R. Marschner, Cornell University)
This research work will be presented during SIGGRAPH 2006 and will be included in ACM Transactions on Graphics under the title "Simulating Multiple Scattering in Hair Using a Photon Mapping Approach." Here is a link to this paper (PDF format, 8 pages, 583 KB) from which the illustrations in this post have been extracted. Below is the beginning of the abstract.
Simulating multiple scattering correctly is important for accurate rendering of hair. However, a volume of hair is a difficult scene to simulate because scattering from an individual fiber is very structured and forward directed, and because the radiance distributions that arise from many such scattering events remain quite directional. For these reasons, previous methods cannot compute accurate images substantially faster than Monte Carlo path tracing.
This paper proposes a new physically accurate method for rendering hair that is based on previous volumetric photon mapping methods. The first pass generates a photon map by tracing particles through the hair geometry, depositing them along paths rather than at scattering events. The second pass ray traces the hair, computing direct illumination and looking up indirect radiance in the photon map.
Below is an illustration showing how the researchers were depositing photons in the photon map. "Top: depositing photons at interaction points, as done in previous work, results in a photon density that is proportional to the hair density, which is difficult to correct for. Bottom: depositing photons uniformly along paths results in a photon density that is proportional to radiance. (Credit: Jonathan T. Moon and Stephen R. Marschner, Cornell University)
And here are parts of the conclusions from the researchers.
We have demonstrated that the very difficult problem of simulating multiple scattering in hair, previously only approachable using path tracing, can be simulated much more efficiently by using a two-pass particle tracing and density estimation approach. Our method builds on the idea of volumetric photon mapping for participating media, but with some important new modifications.
These changes are made necessary by two factors. The density of stored photons needs to be proportional to radiance, not scattered radiance, because the map is being used to light geometric hairs, not to compute scattering in a volume. The generalization to a 5D position direction space is required because of the optical nature of hair: light spreads anisotropically and remains quite directional even after several scattering events.
If I haven't lost you with these technical details, please keep in mind that Marschner's previous works were used for movies such as the "Lord of the Rings" films or the 2005 version of "King Kong." He even received a technical achievement award from the Academy of Motion Picture Arts and Sciences in 2004 for his research work.
Sources: Cornell University News, July 19, 2006; and various web sites
You'll find related stories by following the links below.