Cycles: add transparent shadow support, i.e. shadows through Transparent BSDF
[blender.git] / intern / cycles / kernel / kernel_types.h
index c789601cd276bffe0c9bec5f37a615ee635932d6..df438fe8d901366c41ec641b431efa8482fd9790 100644 (file)
@@ -45,7 +45,7 @@ CCL_NAMESPACE_BEGIN
 #define __TEXTURES__
 #define __HOLDOUT__
 #define __MULTI_CLOSURE__
-//#define __TRANSPARENT_SHADOWS__
+#define __TRANSPARENT_SHADOWS__
 //#define __MULTI_LIGHT__
 #endif
 
@@ -83,15 +83,20 @@ enum PathTraceDimension {
 
 enum PathRayFlag {
        PATH_RAY_CAMERA = 1,
-       PATH_RAY_SHADOW = 2,
-       PATH_RAY_REFLECT = 4,
-       PATH_RAY_TRANSMIT = 8,
-       PATH_RAY_DIFFUSE = 16,
-       PATH_RAY_GLOSSY = 32,
-       PATH_RAY_SINGULAR = 64,
-       PATH_RAY_TRANSPARENT = 128,
-
-       PATH_RAY_ALL = (1|2|4|8|16|32|64|128)
+       PATH_RAY_REFLECT = 2,
+       PATH_RAY_TRANSMIT = 4,
+       PATH_RAY_DIFFUSE = 8,
+       PATH_RAY_GLOSSY = 16,
+       PATH_RAY_SINGULAR = 32,
+       PATH_RAY_TRANSPARENT = 64,
+
+       PATH_RAY_SHADOW_OPAQUE = 128,
+       PATH_RAY_SHADOW_TRANSPARENT = 256,
+       PATH_RAY_SHADOW = (PATH_RAY_SHADOW_OPAQUE|PATH_RAY_SHADOW_TRANSPARENT),
+
+       PATH_RAY_MIS_SKIP = 512,
+
+       PATH_RAY_ALL = (1|2|4|8|16|32|64|128|256|512)
 };
 
 /* Closure Label */