Disclaimer: This article references some images from the lightspeed project. The copyright belongs to the original author.
Notice: I have referenced some picture from Lightspeed project. The copyright is belong to origin author.
The relighting system is an indispensable part of the mature CG production process. However, interestingly, relighting does not seem to have a mature commercial version available in addition to the NVIDIA gelato components and Irma that Pixar once used. This is determined by the inherent conditions of the relighting system. It must be closely integrated with the production process and is not an independent function. Relighting can greatly improve the artist's role and lighting layout design, thereby improving the production speed and quality. At present, top CG studios such as ILM, pixa R, and Dreamworks have long had their own relighting systems that are closely integrated with the entire production process, such as Pixar's lpcis and ILM's lightspeed.
The relighting system works as follows:
- Select a key frame and pre-design the light for these key frames.
- Select a BRDF model
- Write the shader Renderer to render all the data required for computing the illumination in frame mode.
- Load lighting parameters and BRDF data into hardware for real-time Computing
- Adjust the lighting parameters based on the feedback until they meet the requirements.
|
Position |
|
Normal |
|
Diffuse |
|
Specular |
|
Rendering result |
Here we can see that the entire relighting process is similar to adjusting the light for delay coloring, and can sacrifice a certain degree of real-time performance, and get a picture that is almost the same as the real rendering quality for the artist's reference. In order to perform a similar illumination calculation to the maximum extent, the light tracking and environment lighting can be performed in advance when the texture of the components required by the illumination calculation is output, and the displacement shader can be executed in advance.
However, with the increasing complexity of rendering scenes, the number of lights designed by artists is also increasing, and thousands of lights may be used to build the Lighting Effect of real scenes. At the same time, the complexity and related op of the surface shader may not be supported by hardware. To adapt to GPU accelerated computing, Lightspeed developed a compiler optimization system to identify the surface shader by analyzing the RSL syntax tree.Dynamic and StaticAnd then split it into the corresponding CG shader and load it into the GPU for rendering. In the relighting system, many actually call light shader, and Lightspeed calls through the CG interface. For a relighting system framework based on GPU and glsl, the corresponding light shader, including spot and direction, is prepared in advance.
The problem of multi-light source is not a small burden, because for a highly parallel stream processor such as GPU, the slowest operation is internal loop. If the GPU shader requires 100000 traversal times, this is incredible. We must first acknowledge the fact that not all light sources have made great contributions to the scenario. Many light sources are only used to simulate partial-area lighting, and there is almost no contribution in relighting, so we can simplify it. Cornell University has been working on relighting system design, and among the latest GPU gems 3 is Cornell scholar'sArticle. From direct-to-indirect transfer for cinematic relighting to matrix row-column sampling for the specified light problem, all of them aim to increase the relighting speed and expand the relighting applicability, better service for the production process.