Relighting (2007)

[column width=377px margin_left=120px margin_top=80px]
millFigure 1: An image illuminated with the relighting method.

Relighting

One of the main bottlenecks of doing computer animated films is the lighting design. Using the traditional shading method, which we will refer to as forward rendering, every time you manipulate a light source, it can take hours to see the result. Especially in large scenes that contains tens of millions of polygons. To solve this problem we will use a technique called deferred shading [1, 2, 3]. Deferred shading uses a deep-framebuffer, to cache intermediate data. In a later pass we can illuminate our scene, by calculating the light of each pixel in the deep-framebuffer, using the data in the deep-framebuffer.

editorFigure 2: The Editor.

For each light we have a light pass. Using the forward renderer we would have to do the transform and rasterize step for each light source. In the relighting renderer we create a deep-framebuffer. We then render a quad that has the same screen size as the deep-framebuffer. We give the deep-framebuffer to the pixel-shader as a texture. For each pixel we then do a lookup in the deep-framebuffer to the variables, such as the position and normal, that we need. We then use these to do the lighting as we would do in the forward rendering.

Deep-framebuffer

The idea of the deep-framebuffer is that we do not want to recalculate the data that we need for the lighting pass.
[/column]
[column width=377px margin_left=46px margin_top=80px]

We do this by first rendering the scene as normally, but instead of rendering out to the screen we render to multiple render-targets. The data that we need to cache, is the normal and the position, we can also save the material properties such as the diffuse color, the specular contribution or the specular roughness.

deepbufferFigure 3: The deep framebuffer.

Results

This small video shows the editor created for this project. In the video we can see how it’s possible to play with the lights in a scene.

References

[1] Fabio Pellacini, Kiril Vidimče, Aaron Lefohn, Alex Mohr, Mark Leone, and John Warren. Lpics: a hybrid hardware-accelerated relighting engine for computer cinematography. ACM Trans. Graph., 24(3):464,470, 2005.
[2] Jonathan Ragan-Kelley, Charlie Kilpatrick, Brian W. Smith, Doug Epps, Paul Green, Christophe Hery, and Frédo Durand. The lightspeed automatic interactive lighting preview system. ACM Trans. Graph., 26(3):25, 2007.
[3] Reid Gershbein and Pat Hanrahan. A fast relighting engine for interactive cinematic lighting design. In SIGGRAPH ’00: Proceedings of the 27th annual conference on Computer graphics and interactive techniques, pages 353-358, New York, NY, USA, 2000.ACM Press/Addison-Wesley Publishing Co.

Download report pdf_icon_small

[/column]

Comments are closed.