Render targets

The scene is lit far brighter than a display can show and drawn into a floating point RenderTarget without any colour conversion. A second pass, a fullscreen triangle with a createToneMapMaterial(), reads that texture, multiplies it by the exposure, squeezes it into range with the chosen curve and converts it to sRGB for the canvas. With none the highlights just clip to white.

← all examples