diff options
Diffstat (limited to 'intern/cycles/kernel/types.h')
-rw-r--r-- | intern/cycles/kernel/types.h | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/intern/cycles/kernel/types.h b/intern/cycles/kernel/types.h index 34f909a06d9..855cc97edbf 100644 --- a/intern/cycles/kernel/types.h +++ b/intern/cycles/kernel/types.h @@ -86,6 +86,7 @@ CCL_NAMESPACE_BEGIN #define __AO__ #define __PASSES__ #define __HAIR__ +#define __POINTCLOUD__ #define __SVM__ #define __EMISSION__ #define __HOLDOUT__ @@ -125,6 +126,9 @@ CCL_NAMESPACE_BEGIN # if !(__KERNEL_FEATURES & KERNEL_FEATURE_HAIR) # undef __HAIR__ # endif +# if !(__KERNEL_FEATURES & KERNEL_FEATURE_POINTCLOUD) +# undef __POINTCLOUD__ +# endif # if !(__KERNEL_FEATURES & KERNEL_FEATURE_VOLUME) # undef __VOLUME__ # endif @@ -538,19 +542,22 @@ typedef enum PrimitiveType { PRIMITIVE_MOTION_CURVE_THICK = (1 << 3), PRIMITIVE_CURVE_RIBBON = (1 << 4), PRIMITIVE_MOTION_CURVE_RIBBON = (1 << 5), - PRIMITIVE_VOLUME = (1 << 6), - PRIMITIVE_LAMP = (1 << 7), + PRIMITIVE_POINT = (1 << 6), + PRIMITIVE_MOTION_POINT = (1 << 7), + PRIMITIVE_VOLUME = (1 << 8), + PRIMITIVE_LAMP = (1 << 9), PRIMITIVE_ALL_TRIANGLE = (PRIMITIVE_TRIANGLE | PRIMITIVE_MOTION_TRIANGLE), PRIMITIVE_ALL_CURVE = (PRIMITIVE_CURVE_THICK | PRIMITIVE_MOTION_CURVE_THICK | PRIMITIVE_CURVE_RIBBON | PRIMITIVE_MOTION_CURVE_RIBBON), + PRIMITIVE_ALL_POINT = (PRIMITIVE_POINT | PRIMITIVE_MOTION_POINT), PRIMITIVE_ALL_VOLUME = (PRIMITIVE_VOLUME), PRIMITIVE_ALL_MOTION = (PRIMITIVE_MOTION_TRIANGLE | PRIMITIVE_MOTION_CURVE_THICK | - PRIMITIVE_MOTION_CURVE_RIBBON), + PRIMITIVE_MOTION_CURVE_RIBBON | PRIMITIVE_MOTION_POINT), PRIMITIVE_ALL = (PRIMITIVE_ALL_TRIANGLE | PRIMITIVE_ALL_CURVE | PRIMITIVE_ALL_VOLUME | - PRIMITIVE_LAMP), + PRIMITIVE_LAMP | PRIMITIVE_ALL_POINT), - PRIMITIVE_NUM = 8, + PRIMITIVE_NUM = 10, } PrimitiveType; #define PRIMITIVE_PACK_SEGMENT(type, segment) ((segment << PRIMITIVE_NUM) | (type)) @@ -605,6 +612,7 @@ typedef enum AttributeStandard { ATTR_STD_CURVE_INTERCEPT, ATTR_STD_CURVE_LENGTH, ATTR_STD_CURVE_RANDOM, + ATTR_STD_POINT_RANDOM, ATTR_STD_PTEX_FACE_ID, ATTR_STD_PTEX_UV, ATTR_STD_VOLUME_DENSITY, @@ -1604,6 +1612,9 @@ enum KernelFeatureFlag : unsigned int { KERNEL_FEATURE_AO_PASS = (1U << 25U), KERNEL_FEATURE_AO_ADDITIVE = (1U << 26U), KERNEL_FEATURE_AO = (KERNEL_FEATURE_AO_PASS | KERNEL_FEATURE_AO_ADDITIVE), + + /* Point clouds. */ + KERNEL_FEATURE_POINTCLOUD = (1U << 27U), }; /* Shader node feature mask, to specialize shader evaluation for kernels. */ |