neutralToneMapping
A post-processing node that smoothly compresses High Dynamic Range (HDR) colors into the displayable Low Dynamic Range (LDR) using a color-neutral, non-linear algorithm. Its primary goal is to prevent blown-out highlights while maximally preserving the hue fidelity of the original colors.
Core Advantages
Its core value lies in providing a color-neutral transformation. Unlike other tone mappers that may introduce a specific stylistic color shift, it ensures the color accuracy of the render, making it ideal for scenarios like product visualization and providing a clean base for further professional color grading.
Common Uses
As the final step in a standard PBR rendering pipeline to process HDR lighting results.
For 3D product showcases requiring precise color representation, such as e-commerce or portfolios.
In architectural or interior design visualization to balance high-contrast scenes (e.g., bright exteriors and dim interiors).
How to adjust
Control the overall image brightness by adjusting the `exposure` input value. It acts like a camera's exposure compensation: lowering it (e.g., to 0.5) darkens the scene and recovers highlight detail; raising it (e.g., to 2.5) lifts shadows but may cause highlights to be more strongly compressed, creating a soft, artistic overexposure effect.
Code Examples
1 // Apply neutral tone mapping for a color-accurate, natural look
2 vec3 ldrColor = neutralToneMapping( hdrColor, exposure );