Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/intern
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2018-02-20 16:36:50 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2018-02-21 19:56:26 +0300
commit9a5be1fba99f9f6593cfe7d8ced997d01ee15200 (patch)
tree33139a8442acb5a1f449084d4a7cda5b0f1c8cc6 /intern
parent606bc5f301505024d7cbbbcd12389ea286c3f825 (diff)
Fix incorrect OSL raytype bits and add some comments.
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/kernel/kernel_types.h20
-rw-r--r--intern/cycles/render/osl.cpp8
2 files changed, 20 insertions, 8 deletions
diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h
index aeb63b4a65e..c26769341f0 100644
--- a/intern/cycles/kernel/kernel_types.h
+++ b/intern/cycles/kernel/kernel_types.h
@@ -347,12 +347,20 @@ enum PathRayFlag {
PATH_RAY_ALL_VISIBILITY = ((1 << 14)-1),
- PATH_RAY_MIS_SKIP = (1 << 15),
- PATH_RAY_DIFFUSE_ANCESTOR = (1 << 16),
- PATH_RAY_SINGLE_PASS_DONE = (1 << 17),
- PATH_RAY_SHADOW_CATCHER = (1 << 18),
- PATH_RAY_STORE_SHADOW_INFO = (1 << 19),
- PATH_RAY_TRANSPARENT_BACKGROUND = (1 << 20),
+ /* Don't apply multiple importance sampling weights to emission from
+ * lamp or surface hits, because they were not direct light sampled. */
+ PATH_RAY_MIS_SKIP = (1 << 14),
+ /* Diffuse bounce earlier in the path, skip SSS to improve performance
+ * and avoid branching twice with disk sampling SSS. */
+ 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 */
diff --git a/intern/cycles/render/osl.cpp b/intern/cycles/render/osl.cpp
index 5c5ac6e2be9..9c107274305 100644
--- a/intern/cycles/render/osl.cpp
+++ b/intern/cycles/render/osl.cpp
@@ -233,18 +233,22 @@ void OSLShaderManager::shading_system_init()
"glossy", /* PATH_RAY_GLOSSY */
"singular", /* PATH_RAY_SINGULAR */
"transparent", /* PATH_RAY_TRANSPARENT */
+
"shadow", /* PATH_RAY_SHADOW_OPAQUE_NON_CATCHER */
"shadow", /* PATH_RAY_SHADOW_OPAQUE_CATCHER */
"shadow", /* PATH_RAY_SHADOW_TRANSPARENT_NON_CATCHER */
"shadow", /* PATH_RAY_SHADOW_TRANSPARENT_CATCHER */
"__unused__",
+ "volume_scatter", /* PATH_RAY_VOLUME_SCATTER */
+ "__unused__",
+
"__unused__",
"diffuse_ancestor", /* PATH_RAY_DIFFUSE_ANCESTOR */
"__unused__",
"__unused__",
- "__unused__", /* PATH_RAY_SINGLE_PASS_DONE */
- "volume_scatter", /* PATH_RAY_VOLUME_SCATTER */
+ "__unused__",
+ "__unused__",
};
const int nraytypes = sizeof(raytypes)/sizeof(raytypes[0]);