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:
authorLukas Stockner <lukas.stockner@freenet.de>2016-09-14 19:53:35 +0300
committerLukas Stockner <lukas.stockner@freenet.de>2016-09-14 19:53:35 +0300
commitaae2cea28d0c6c970778674e0ba329b2208b8366 (patch)
treef2a83d7bdf56be8a9578fc37d554fc69f37b0e7c /intern/cycles/kernel/kernel_types.h
parent51e8c167f40c63c191ac9271fe02de78f2a49b22 (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.h21
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|