pex-renderer icon indicating copy to clipboard operation
pex-renderer copied to clipboard

PostProcessing cleanup

Open vorg opened this issue 2 years ago • 1 comments

To get rid of legacy use cases i propose we simplify postpro settings a bit:

  • [x] remove encoding from camera (we no longer do post processing outside of render pipeline so linear output is not needed ATM)
  • [ ] move fStop to DOF (fstop impacts dof only)
  • [ ] move exposure to color correction (default to 1, camera exposure was used to compensate bright hdri that have exposure on their own now)
  • [ ] move tonemapping to color correction (default to ACES, this impact colors too much so should be done together with other color settings)
  • [ ] rename toneMap to toneMapping
  • [ ] fog should happen in the material or at least before DOF (and boom as it is already)

Needs thinking and check

  • [ ] render to screen settings should be in camera not in renderer
  • [x] consider adding AgX tonemapper https://iolite-engine.com/blog_posts/minimal_agx_implementation

Nice to have

  • [ ] move on to .cube lut postprocessing format instead of .png (check is it applied to linear or gamma colors?)

Some notes on tonemapping. Currently tonemapping can happen in postprocessing final (and not in blit), in blit (if not postprocessing) and in material shader (if output encoding is gamma and you draw to texture aka not blit to screen).

vorg avatar Nov 08 '23 15:11 vorg

AgX testing images as EXR https://github.com/sobotka/Testing_Imagery and ThreeJS thread https://github.com/mrdoob/three.js/pull/27366

vorg avatar Jun 01 '24 21:06 vorg