Open laurelkeys opened 3 years ago
92df33e is an alternative solution to the bug "False Colors not being applied to all tiles".
The problem is the following:
renderer_controller.on_rendering_success()
in MasterRenderer::do_render()
.One solution is to call on_rendering_success
after applying post-process, which re-order correctly the effects:
The problem with that solution, is that we don't call on_rendering_success
and on_rendering_abort
from do_render
anymore, but on_rendering_begin()
still is. Triggering the signals from different places in the code make it less easy to maintain and understand.
I think we should keep the structure in do_render()
to make sure interactive rendering + final rendering always work the same way.
Another solution, the one in this commit, is to apply the post-process right after render. Then, no matter when you emit the signal, the frame will always be ready and will never get modified after the signal is being emitted.
@laurelkeys What do you think about this approach ? If you agree, can you try to break it while testing it ?
@laurelkeys What do you think about this approach ? If you agree, can you try to break it while testing it ?
LGTM! Just tested it and it's working as expected 🙂
This PR addresses the same issue as https://github.com/appleseedhq/appleseed/pull/2880, namely,
False Colors
aren't correctly applied to all tiles in a final render when the frame has some post-processing stage.For a further explanation of the problem, see: https://discord.com/channels/430063582777049089/707230180233707591/729948630668148766