diff options
author | Lukas Stockner <lukas.stockner@freenet.de> | 2016-09-14 19:53:35 +0300 |
---|---|---|
committer | Lukas Stockner <lukas.stockner@freenet.de> | 2016-09-14 19:53:35 +0300 |
commit | aae2cea28d0c6c970778674e0ba329b2208b8366 (patch) | |
tree | f2a83d7bdf56be8a9578fc37d554fc69f37b0e7c /intern/cycles/kernel/kernel_types.h | |
parent | 51e8c167f40c63c191ac9271fe02de78f2a49b22 (diff) |
Cycles: Also support the constant emission speedup for mesh lights
Reviewers: brecht, sergey, dingto, juicyfruit
Differential Revision: https://developer.blender.org/D2220
Diffstat (limited to 'intern/cycles/kernel/kernel_types.h')
-rw-r--r-- | intern/cycles/kernel/kernel_types.h | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index 18ca55f7d59..548bc1c1ccc 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -42,6 +42,7 @@ CCL_NAMESPACE_BEGIN #define RAMP_TABLE_SIZE 256 #define SHUTTER_TABLE_SIZE 256 #define PARTICLE_SIZE 5 +#define SHADER_SIZE 5 #define BSSRDF_MIN_RADIUS 1e-8f #define BSSRDF_MAX_HITS 4 @@ -453,9 +454,8 @@ typedef enum ShaderFlag { SHADER_EXCLUDE_CAMERA = (1 << 24), SHADER_EXCLUDE_SCATTER = (1 << 23), SHADER_EXCLUDE_ANY = (SHADER_EXCLUDE_DIFFUSE|SHADER_EXCLUDE_GLOSSY|SHADER_EXCLUDE_TRANSMIT|SHADER_EXCLUDE_CAMERA|SHADER_EXCLUDE_SCATTER), - SHADER_FIXED_EMISSION = (1 << 22), - SHADER_MASK = ~(SHADER_SMOOTH_NORMAL|SHADER_CAST_SHADOW|SHADER_AREA_LIGHT|SHADER_USE_MIS|SHADER_EXCLUDE_ANY|SHADER_FIXED_EMISSION) + SHADER_MASK = ~(SHADER_SMOOTH_NORMAL|SHADER_CAST_SHADOW|SHADER_AREA_LIGHT|SHADER_USE_MIS|SHADER_EXCLUDE_ANY) } ShaderFlag; /* Light Type */ @@ -715,20 +715,21 @@ enum ShaderDataFlag { SD_VOLUME_CUBIC = (1 << 20), /* use cubic interpolation for voxels */ SD_HAS_BUMP = (1 << 21), /* has data connected to the displacement input */ SD_HAS_DISPLACEMENT = (1 << 22), /* has true displacement */ + SD_HAS_CONSTANT_EMISSION = (1 << 23), /* has constant emission (value stored in __shader_flag) */ SD_SHADER_FLAGS = (SD_USE_MIS|SD_HAS_TRANSPARENT_SHADOW|SD_HAS_VOLUME| SD_HAS_ONLY_VOLUME|SD_HETEROGENEOUS_VOLUME| SD_HAS_BSSRDF_BUMP|SD_VOLUME_EQUIANGULAR|SD_VOLUME_MIS| - SD_VOLUME_CUBIC|SD_HAS_BUMP|SD_HAS_DISPLACEMENT), + SD_VOLUME_CUBIC|SD_HAS_BUMP|SD_HAS_DISPLACEMENT|SD_HAS_CONSTANT_EMISSION), /* object flags */ - SD_HOLDOUT_MASK = (1 << 23), /* holdout for camera rays */ - SD_OBJECT_MOTION = (1 << 24), /* has object motion blur */ - SD_TRANSFORM_APPLIED = (1 << 25), /* vertices have transform applied */ - SD_NEGATIVE_SCALE_APPLIED = (1 << 26), /* vertices have negative scale applied */ - SD_OBJECT_HAS_VOLUME = (1 << 27), /* object has a volume shader */ - SD_OBJECT_INTERSECTS_VOLUME = (1 << 28), /* object intersects AABB of an object with volume shader */ - SD_OBJECT_HAS_VERTEX_MOTION = (1 << 29), /* has position for motion vertices */ + SD_HOLDOUT_MASK = (1 << 24), /* holdout for camera rays */ + SD_OBJECT_MOTION = (1 << 25), /* has object motion blur */ + SD_TRANSFORM_APPLIED = (1 << 26), /* vertices have transform applied */ + SD_NEGATIVE_SCALE_APPLIED = (1 << 27), /* vertices have negative scale applied */ + SD_OBJECT_HAS_VOLUME = (1 << 28), /* object has a volume shader */ + SD_OBJECT_INTERSECTS_VOLUME = (1 << 29), /* object intersects AABB of an object with volume shader */ + SD_OBJECT_HAS_VERTEX_MOTION = (1 << 30), /* has position for motion vertices */ SD_OBJECT_FLAGS = (SD_HOLDOUT_MASK|SD_OBJECT_MOTION|SD_TRANSFORM_APPLIED| SD_NEGATIVE_SCALE_APPLIED|SD_OBJECT_HAS_VOLUME| |