Fix incorrect OSL raytype bits and add some comments.

This commit is contained in:
Brecht Van Lommel 2018-02-20 14:36:50 +01:00
parent 606bc5f301
commit 9a5be1fba9
2 changed files with 20 additions and 8 deletions

@ -347,12 +347,20 @@ enum PathRayFlag {
PATH_RAY_ALL_VISIBILITY = ((1 << 14)-1), PATH_RAY_ALL_VISIBILITY = ((1 << 14)-1),
PATH_RAY_MIS_SKIP = (1 << 15), /* Don't apply multiple importance sampling weights to emission from
PATH_RAY_DIFFUSE_ANCESTOR = (1 << 16), * lamp or surface hits, because they were not direct light sampled. */
PATH_RAY_SINGLE_PASS_DONE = (1 << 17), PATH_RAY_MIS_SKIP = (1 << 14),
PATH_RAY_SHADOW_CATCHER = (1 << 18), /* Diffuse bounce earlier in the path, skip SSS to improve performance
PATH_RAY_STORE_SHADOW_INFO = (1 << 19), * and avoid branching twice with disk sampling SSS. */
PATH_RAY_TRANSPARENT_BACKGROUND = (1 << 20), PATH_RAY_DIFFUSE_ANCESTOR = (1 << 15),
/* Single pass has been written. */
PATH_RAY_SINGLE_PASS_DONE = (1 << 16),
/* Ray is behind a shadow catcher .*/
PATH_RAY_SHADOW_CATCHER = (1 << 17),
/* Store shadow data for shadow catcher or denoising. */
PATH_RAY_STORE_SHADOW_INFO = (1 << 18),
/* Zero background alpha, for camera or transparent glass rays. */
PATH_RAY_TRANSPARENT_BACKGROUND = (1 << 19),
}; };
/* Closure Label */ /* Closure Label */

@ -233,18 +233,22 @@ void OSLShaderManager::shading_system_init()
"glossy", /* PATH_RAY_GLOSSY */ "glossy", /* PATH_RAY_GLOSSY */
"singular", /* PATH_RAY_SINGULAR */ "singular", /* PATH_RAY_SINGULAR */
"transparent", /* PATH_RAY_TRANSPARENT */ "transparent", /* PATH_RAY_TRANSPARENT */
"shadow", /* PATH_RAY_SHADOW_OPAQUE_NON_CATCHER */ "shadow", /* PATH_RAY_SHADOW_OPAQUE_NON_CATCHER */
"shadow", /* PATH_RAY_SHADOW_OPAQUE_CATCHER */ "shadow", /* PATH_RAY_SHADOW_OPAQUE_CATCHER */
"shadow", /* PATH_RAY_SHADOW_TRANSPARENT_NON_CATCHER */ "shadow", /* PATH_RAY_SHADOW_TRANSPARENT_NON_CATCHER */
"shadow", /* PATH_RAY_SHADOW_TRANSPARENT_CATCHER */ "shadow", /* PATH_RAY_SHADOW_TRANSPARENT_CATCHER */
"__unused__", "__unused__",
"volume_scatter", /* PATH_RAY_VOLUME_SCATTER */
"__unused__",
"__unused__", "__unused__",
"diffuse_ancestor", /* PATH_RAY_DIFFUSE_ANCESTOR */ "diffuse_ancestor", /* PATH_RAY_DIFFUSE_ANCESTOR */
"__unused__", "__unused__",
"__unused__", "__unused__",
"__unused__", /* PATH_RAY_SINGLE_PASS_DONE */ "__unused__",
"volume_scatter", /* PATH_RAY_VOLUME_SCATTER */ "__unused__",
}; };
const int nraytypes = sizeof(raytypes)/sizeof(raytypes[0]); const int nraytypes = sizeof(raytypes)/sizeof(raytypes[0]);