postprocessing icon indicating copy to clipboard operation
postprocessing copied to clipboard

Equivalent for LinearToneMapping in TonemappingEffect

Open hybridherbst opened this issue 6 months ago • 2 comments

Description of the bug

It seems that there's currently no way to just use the toneMappingExposure without applying further color modifications when using the postprocessing package. As per the readme, three.js should be set to NoToneMapping and the parameter applied by the effect: https://github.com/pmndrs/postprocessing?tab=readme-ov-file#tone-mappingv

Maybe I'm missing something?

As a workaround I tried to just not use TonemappingEffect and set three.js to LinearToneMapping, but then the exposure is also not applied.

Expected behavior

A way to replicate "LinearToneMapping" with toneMappingExposure when EffectComposer is used

Library versions used

  • Three: [e.g. X.XXX.X]
  • Post Processing: [6.34.3]

hybridherbst avatar Feb 23 '24 13:02 hybridherbst

Support for LinearToneMapping is currently missing and probably should be added. I'll take a look at that.

As a workaround I tried to just not use TonemappingEffect and set three.js to LinearToneMapping, but then the exposure is also not applied.

This doesn't work anymore because three no longer applies tone mapping when rendering to render targets.

vanruesc avatar Feb 23 '24 14:02 vanruesc

Thank you! Also thanks for the extra explanation :)

hybridherbst avatar Feb 23 '24 15:02 hybridherbst

I was having the same issue whenever i use the effectcomposer, there's always over exposure, I tried to change the renderer color space, and used the ToneMapping effect but didn't fix it. I really will love to see LinearToneMapping supported

ademola-lou avatar Feb 25 '24 08:02 ademola-lou

@ademola-lou That sounds like a different problem. Linear tone mapping is no real tone mapping - it's just clamping. So this will not fix your issue. It's just being added for feature parity.

In your case, you may not have enabled high precision buffers which leads to implicit clamping during the render pass. See the readme for details.

vanruesc avatar Feb 25 '24 14:02 vanruesc