Basic HDR Questions

Started by
0 comments, last by MJP 13 years, 1 month ago
Hi ,

As I am new to HDR rendering , the questions I would like to ask :

1. How I define it is HDR rendering or Tonemap operation is basically `scaling`
in order to reflect a greater contrast ratio to current scene. Is that understanding
correct ?

2. Regarding HDR Cubemap sample of DX SDK , as I looked into its shader to see HDR lighting,
it does not use tonemap but , it does multiply calculated diffuse/lambetian light/pixel color value
with the parameter ( so called light intensity ) so as I can understand for simplest HDR rendering
linearly multiplying pixel values with appropriate numbers is enough ?

3. What about using Phong lighting model along with HDR R ? I guess it is theoretically ok
but in all HDR samples I have seen , it is always diffuse lighting

4. In some games like Call of Juarez : Bound in Blood , when you enter to an area heavily under sun light
firstly the scene is too bright so you can`t clearly see everything , then it becomes ok
Is this the bloom effect ?

thanks a lot
Advertisement
1. Tonemapping is basically a technique to make HDR look decent on an LDR display, and also potentially simulate film-like effects. I like to think HDR itself as a decoupling of your internal lighting values from the actual colors displayed on the screen. With LDR the lighting value you compute for a pixel is the color you use for displaying that pixel. With HDR you don't compute displayable colors per pixel, but rather a value representing the amount of light being emitted from that pixel. Then later on you figure out how to map that amount of light to the color displayed on the screen (which is the tone mapping step). This allows you to be more physically correct in your rendering, since you can use more realistic values for your lighting parameters (for example you can make the sun 1000x brighter than a flashlight) and also have more data available for reflections and post processing.

2. Multiplying your HDR value by a scalar is indeed a very simple way to do tone mapping. Basically you can think of it as an "exposure" parameter, like on camera.

3. Sure, you can use whatever BRDF you want with HDR as long as you perform the calculations in floating point and compute a floating point result for the lighting.

4. Many games implement a sort of "auto exposure" as part of their tone mapping. In most cases it's done computing the average luminance of the current frame (or geometric mean, in most cases) and then using that value to scale the HDR color before applying the tone mapping curve. So the really bright scenes are automatically darkened (and vice versa) so that they remain displayable. As part of this, many games will also implement a simple adaptation where the current average luminance is compared to the previous frame's average luminance and a new value is picked that is in between the two. This causes the transition from "omg, so bright I can't see anything" to "ahhh I can see again" when going from indoor to outdoor areas. Some games will also just manually author different exposure values for different areas of a level and interpolate between them when the player moves from one area to another, rather than dynamically computing an acceptable exposure.

This topic is closed to new replies.

Advertisement