Page MenuHome

Cycles: make ambient occlusion pass take into account transparency again
ClosedPublic

Authored by Brecht Van Lommel (brecht) on Oct 17 2021, 7:05 PM.

Details

Summary

Taking advantage of the new decoupled main and shadow paths. For CPU we
just store two nested structs in the integrator state, one for direct light
shadows and one for AO. For the GPU we restrict the number of shade surface
states to be executed based on available space in the shadow paths queue.

This also helps improve performance in benchmark scenes with an AO pass,
since it is no longer needed to use the shader raytracing kernel there,
which has worse performance.

Event Timeline

Brecht Van Lommel (brecht) requested review of this revision.Oct 17 2021, 7:05 PM
Brecht Van Lommel (brecht) created this revision.

Fix missing check for usage of AO pass in GPU kernel scheduling

Make it work on the GPU, ready for final review now.

Scenes without AO pass are basically unchanged. Barbershop, classroom and junkshop using an AO pass have 9-13% reduced render time:

This revision is now accepted and ready to land.Oct 20 2021, 5:44 PM