Cycles: better path termination for transparency.

We now continue transparent paths after diffuse/glossy/transmission/volume
bounces are exceeded. This avoids unexpected boundaries in volumes with
transparent boundaries. It is also required for MIS to work correctly with
transparent surfaces, as we also continue through these in shadow rays.

The main visible changes is that volumes will now be lit by the background
even at volume bounces 0, same as surfaces.

Fixes T53914 and T54103.
This commit is contained in:
Brecht Van Lommel
2018-02-20 14:22:40 +01:00
parent 84e92f9b3c
commit 2d81758aa6
15 changed files with 118 additions and 67 deletions

View File

@@ -249,6 +249,9 @@ void OSLShaderManager::shading_system_init()
"__unused__",
"__unused__",
"__unused__",
"__unused__",
"__unused__",
"__unused__",
};
const int nraytypes = sizeof(raytypes)/sizeof(raytypes[0]);