reinhardToneMapping
Smoothly compresses High Dynamic Range (HDR) colors into the Low Dynamic Range (LDR) that displays can show, preventing loss of detail in highlights and improving the overall image.
Core Advantages
While preserving highlight and shadow detail, its algorithm is extremely simple with very low computational overhead, making it an ideal choice for performance-sensitive, real-time rendering applications.
Common Uses
Balancing exposure in high-contrast scenes like interiors with bright windows.
Handling strong surface highlights in product or automotive rendering to preserve texture.
Serving as a performance-first, default tone mapping option in games or web applications.
How to adjust
Mainly adjusted via the `exposure` input to control overall image brightness. Increasing exposure brightens the scene but can reduce highlight saturation; decreasing it darkens the scene, enriching highlight colors but potentially crushing shadow detail. Pre-multiplying the input color can be used for white balance adjustments.
Code Examples
1// hdrColor is the original High Dynamic Range color
2// exposure is a uniform float for brightness control
3const ldrColor = reinhardToneMapping( hdrColor, exposure );