diff options
author | Brecht Van Lommel <brecht@blender.org> | 2020-08-25 16:53:57 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2020-08-25 19:00:35 +0300 |
commit | 21cb6f09ffa82e9d2ef8fc41e7161f824984989b (patch) | |
tree | 260fbaf08dd25dd426e53fc4eb762dc12489e4df /intern/cycles/blender/blender_session.cpp | |
parent | 33ac3582bbd5551bdfbc7ef8856640b5e61888f8 (diff) |
Fix T77298: Cycles multiple object making not working with multiple samples
The previous fix loaded the pixels so existing tiles were not overwritten.
However the Cycles render buffer is expected to be scaled by the number of
sample, which was not taken into account.
This is not ideal in that previews could have a mismatched number of samples
between multiple objects, though the result will be correct. The better solution
would be to bake all objects together per tile, rather than one after the other.
But that is a bigger change than we can do in 2.90.
Differential Revision: https://developer.blender.org/D8704
Diffstat (limited to 'intern/cycles/blender/blender_session.cpp')
-rw-r--r-- | intern/cycles/blender/blender_session.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp index a06030c8b7d..8f3802733c6 100644 --- a/intern/cycles/blender/blender_session.cpp +++ b/intern/cycles/blender/blender_session.cpp @@ -363,7 +363,8 @@ void BlenderSession::do_write_update_render_tile(RenderTile &rtile, PassType pass_type = BlenderSync::get_pass_type(b_pass); int components = b_pass.channels(); - rtile.buffers->set_pass_rect(pass_type, components, (float *)b_pass.rect()); + rtile.buffers->set_pass_rect( + pass_type, components, (float *)b_pass.rect(), rtile.num_samples); } end_render_result(b_engine, b_rr, false, false, false); |