Blender Git Loki

Git Commits -> Revision cccfa59

Revision cccfa59 by Brecht Van Lommel (master)
October 20, 2021, 15:50 (GMT)
Cycles: make ambient occlusion pass take into account transparency again

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.

Differential Revision: https://developer.blender.org/D12900

Commit Details:

Full Hash: cccfa597ba69944817e0913944cf3c3d0a6e1165
Parent Commit: 001f548
Lines Changed: +178, -97

18 Modified Paths:

/intern/cycles/integrator/path_trace_work_gpu.cpp (+39, -19) (Diff)
/intern/cycles/integrator/path_trace_work_gpu.h (+6, -2) (Diff)
/intern/cycles/kernel/device/gpu/kernel.h (+17, -5) (Diff)
/intern/cycles/kernel/device/gpu/parallel_prefix_sum.h (+5, -3) (Diff)
/intern/cycles/kernel/device/gpu/parallel_sorted_index.h (+11, -1) (Diff)
/intern/cycles/kernel/integrator/integrator_init_from_bake.h (+1, -1) (Diff)
/intern/cycles/kernel/integrator/integrator_intersect_closest.h (+1, -2) (Diff)
/intern/cycles/kernel/integrator/integrator_megakernel.h (+28, -12) (Diff)
/intern/cycles/kernel/integrator/integrator_shade_background.h (+1, -1) (Diff)
/intern/cycles/kernel/integrator/integrator_shade_surface.h (+49, -38) (Diff)
/intern/cycles/kernel/integrator/integrator_shade_volume.h (+2, -1) (Diff)
/intern/cycles/kernel/integrator/integrator_state.h (+1, -0) (Diff)
/intern/cycles/kernel/integrator/integrator_state_flow.h (+3, -3) (Diff)
/intern/cycles/kernel/integrator/integrator_subsurface.h (+1, -1) (Diff)
/intern/cycles/kernel/kernel_accumulate.h (+7, -0) (Diff)
/intern/cycles/kernel/kernel_path_state.h (+1, -0) (Diff)
/intern/cycles/kernel/kernel_types.h (+5, -4) (Diff)
/intern/cycles/render/film.cpp (+0, -4) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021