Page MenuHome

Fix T77298: Cycles multiple object making not working with multiple samples
ClosedPublic

Authored by Brecht Van Lommel (brecht) on Aug 25 2020, 3:58 PM.

Details

Summary

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.

Diff Detail

Repository
rB Blender

Event Timeline

Brecht Van Lommel (brecht) requested review of this revision.Aug 25 2020, 3:58 PM
Brecht Van Lommel (brecht) created this revision.
Brecht Van Lommel (brecht) planned changes to this revision.Aug 25 2020, 4:03 PM

I found another issue, looking into it...

Approved, but if there are plans to fix it further I think we should add a TODO task for that so it doesn't get forgotten.

Dalai Felinto (dfelinto) requested changes to this revision.Aug 25 2020, 4:11 PM

unapprove to test the final solution

Don't multiply non-float data as if it was a float, just straight copy it.

For the records (not related to this patch nor with the original fix), the noise in the baked image looks very different from 2.83 and 2.90 - with T77298 sample file uncheck "Selected to Active" and bake only the Plane object.

intern/cycles/render/buffers.cpp
487
This revision is now accepted and ready to land.Aug 25 2020, 5:57 PM

Yes, the noise seeds are different after the tile-based baking, that's intentional, it's now unified with the regular rendering