diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2011-12-22 00:51:43 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2011-12-22 00:51:43 +0400 |
commit | b65061e2ae95e92dea8b1009bf0cf4e02254dac2 (patch) | |
tree | f23d15bfe409197865d1aa8ddf877a562ac75ac3 /intern/cycles/kernel/kernel_types.h | |
parent | 2f90cfd423b49d28443bc69ad2cfe551622e0cdf (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.h | 13 |
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 { |