Monday, May 30, 2011

Unit Problems with tone-mapping in RenderMan

from 'Using procedual RenderMan shaders for global illumination'


All color and illumination quantities are unit-less and are supposed to lie between zero and one. It makes all computations context dependent and may introduce inconsistencies when combine shaders that assume a different environment.Secondly, all specifications are relative to an implicit unit system imposed by the creator of the scene. For example, it's impossible to add a light source with a particular lighting effect to a scene without knowing the overall scale factor of the other light sources.

RenderMan currently only deals with unit-less color values to describe illumination. In order to make shaders compatible with each other and with any renderer we suggest that all quantities used in the RenderMan interface are assumed to be given in international standard SI units. This means that all geometric quantities are in meters and that radiance or irradiance is used for all illumination quantities.A light source shader for a point light source must scale the light flux with the square of the distance to the receiver. The effect of the light source is now independent of the assumed scale of the scene model.

For illumination quantities the photometric units luminance and illuminace would have been an alternative. However, they are a subjective measure and are simply scaled versions of the radiometric units, weighted with the spctral response function of a standard observer.

The current definition of the imaging pipeline of RenderMan must also be modified in order to perform post-processing on the image in physically well-defined units. These extensions are necessary to support the current state-of-the-art in physically-based image synthesis. This includes tone-mapping operators and image filtering.

In the current definition of the RenderMan interface the imaging pipeline can only execute a set of standard filter algorithms. Also, image shaders currently operate on the already filtered and gamma corrected pixel values and image shaders operate on the value of a single pixel at a time. A tone reproduction step which converts the radiance values into pixel values through luminace values for display is unavoidable. For rendering scenes with physically-based light sources descriptions and reflection functions, the large dynamic range of the input distribution must be matched to the rather small dynamic range displayable by a CRT.


RenderMan에서 전체 color processing을 좀 더 physical하게 접근 한 시점에서 봤을때 안고 있는 몇몇 문제점을 제시한 중요한 노트 중에 하나가 아닐까 생각한다. 제목만 보면  procedual shader와 연관된 GI에 대한 내용일거라 생각 했지만 안의 내용은 오히려 내가 원했던 부분이 한가득 들어 있었다.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home