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
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2011-12-22 00:51:43 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2011-12-22 00:51:43 +0400
commitb65061e2ae95e92dea8b1009bf0cf4e02254dac2 (patch)
treef23d15bfe409197865d1aa8ddf877a562ac75ac3 /intern/cycles/kernel/kernel_types.h
parent2f90cfd423b49d28443bc69ad2cfe551622e0cdf (diff)
Cycles: code refactoring, to do render layer visibility test a bit different,
replacing the camera visibility flag with object layer flags.
Diffstat (limited to 'intern/cycles/kernel/kernel_types.h')
-rw-r--r--intern/cycles/kernel/kernel_types.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h
index ea73f87a8a5..56db4d2b78a 100644
--- a/intern/cycles/kernel/kernel_types.h
+++ b/intern/cycles/kernel/kernel_types.h
@@ -100,7 +100,10 @@ enum PathTraceDimension {
/* these flag values correspond exactly to OSL defaults, so be careful not to
* change this, or if you do, set the "raytypes" shading system attribute with
- * your own new ray types and bitflag values */
+ * your own new ray types and bitflag values.
+ *
+ * for ray visibility tests in BVH traversal, the upper 20 bits are used for
+ * layer visibility tests. */
enum PathRayFlag {
PATH_RAY_CAMERA = 1,
@@ -117,7 +120,9 @@ enum PathRayFlag {
PATH_RAY_MIS_SKIP = 512,
- PATH_RAY_ALL = (1|2|4|8|16|32|64|128|256|512)
+ PATH_RAY_ALL = (1|2|4|8|16|32|64|128|256|512),
+
+ PATH_RAY_LAYER_SHIFT = (32-20)
};
/* Closure Label */
@@ -383,10 +388,12 @@ typedef struct KernelIntegrator {
/* caustics */
int no_caustics;
- float blur_caustics;
/* seed */
int seed;
+
+ /* render layer */
+ int layer_flag;
} KernelIntegrator;
typedef struct KernelBVH {