To highlight the differences, this demo runs in four different modes:
1. No HDR: A "standard" pipeline rendering directly to a 32-bit back buffer with no post-processing.
2. Simple Elias Exposure: Adjusts the exposure of the entire scene, then renders to a traditional 32-bit backbuffer.
3. Kawase Bloom Filter: Applies a bright-pass filter to the scene, then ping-pongs the result between render targets, then tone maps this blurred image with an image of the original scene, resulting in a bloom effect. Not "true" HDR, but very fast. Uses four traditional 32-bit render targets. The thumbnail image to the left shows results of this mode.
4. "True" HDR: After rendering the first pass of the scene to a floating-point target, determines the average luminance of the scene by downsampling the scene until arriving at a 1 x 1 texture. The results of the bright-pass filter are blurred by a separable Gaussian filter. The bloom texture and original scene are then tone mapped based on the average luminance, which is the floating-point color value of the 1 x 1 luminance texture. In all, this rendering pipeline uses 11 floating-point targets (compare frame rate on this mode to the others--this version of the pipeline is definitely fill-rate bound!)
What I learned: An actual HDR pipeline uses floating-point render targets, and would also use floating-point texture assets (this demo does not include the latter, hence "True" in quotation marks). Bloom filters, though not actual HDR, achieve much better performance even on the latest generation of graphics hardware.
To really see what the shaders are doing behind the scenes, all the magic numbers for each mode are exposed. In each mode, the demo allows the user to manipulate the exposure, Gaussian mean, number of Kawase iterations etc. to see what effects these have on the final outcome. ALL INSTRUCTIONS are displayed on the screen, making it easy to switch between modes and tweak values.
In each mode, pay attention to the difference between the brightest and darkest regions of the scene. This, in my humble opinion, is what's truly cool about an HDR pipeline--In the "True" HDR mode, the sun appears to burst through the clouds while the front of the statue in the foreground remains cloaked in shadow. Though the other modes boast superior frame rates, none of them offer the dynamic range found in the more expensive final mode. |