Post Processing Gamma + Tonemapping

When using a custom post processing stack, will the renderer automatically override and disable any tonemapping in the render pass, and will it remove any gamma correction? Also, would the end of the Post stack need to manually re-apply this or does the engine automatically reapply this as a final step before rendering to screen?

Hi @Mark_Lundin,

From what I know tonemapping is applied as part of the shader generated by regular model materials. So it’s rendered for each model separately.

That means that the colorbuffer you receive as input in your custom post processing shader is already using tonemapping.

1 Like

you can also set it to no tone mapping using
https://developer.playcanvas.com/en/api/pc.Scene.html#toneMapping

and similarly gamma correction
https://developer.playcanvas.com/en/api/pc.Scene.html#gammaCorrection

Gotya. So I’m assuming PC won’t change the tonemapping and gamma automaticallty, so if I’m using a post stack, it makes sense to set to overwrite this at runtime and set to Linear with no tonemapping, then run the post stack and have a final pass that re-applies the correct tone-mapping and gamma ?

@Mark_Lundin - I haven’t tried it, but it looks like if the SHADER_FORWARDHDR shader pass is rendered, it will not perform gamma correction or tone mapping in the material - which would mean you can post process the HDR buffer. I’ll investigate a bit more - on exactly how to get the scene rendering using a SHADER_FORWARDHDR shader pass.

1 Like