diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-06-18 13:36:00 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-06-18 13:36:00 +0400 |
commit | 9131adca9f748f794c18c71d36f830a961c218b4 (patch) | |
tree | 42cf5890e0e1b34658967821a542667a7c3b08a8 /intern/cycles/kernel | |
parent | 943388183d2b3a4503799b0e3c09f34e9be7d85f (diff) |
Cycles: add "Transparent Shadow" option for materials, to disable them per material.
Diffstat (limited to 'intern/cycles/kernel')
-rw-r--r-- | intern/cycles/kernel/kernel_emission.h | 4 | ||||
-rw-r--r-- | intern/cycles/kernel/kernel_shader.h | 2 | ||||
-rw-r--r-- | intern/cycles/kernel/kernel_types.h | 4 |
3 files changed, 5 insertions, 5 deletions
diff --git a/intern/cycles/kernel/kernel_emission.h b/intern/cycles/kernel/kernel_emission.h index c430a40d814..77dc59d2691 100644 --- a/intern/cycles/kernel/kernel_emission.h +++ b/intern/cycles/kernel/kernel_emission.h @@ -168,9 +168,9 @@ __device_noinline float3 indirect_primitive_emission(KernelGlobals *kg, ShaderDa float3 L = shader_emissive_eval(kg, sd); #ifdef __HAIR__ - if(!(path_flag & PATH_RAY_MIS_SKIP) && (sd->flag & SD_SAMPLE_AS_LIGHT) && (sd->segment == ~0)) { + if(!(path_flag & PATH_RAY_MIS_SKIP) && (sd->flag & SD_USE_MIS) && (sd->segment == ~0)) { #else - if(!(path_flag & PATH_RAY_MIS_SKIP) && (sd->flag & SD_SAMPLE_AS_LIGHT)) { + if(!(path_flag & PATH_RAY_MIS_SKIP) && (sd->flag & SD_USE_MIS)) { #endif /* multiple importance sampling, get triangle light pdf, * and compute weight with respect to BSDF pdf */ diff --git a/intern/cycles/kernel/kernel_shader.h b/intern/cycles/kernel/kernel_shader.h index 347c066962a..7e41ee35ae0 100644 --- a/intern/cycles/kernel/kernel_shader.h +++ b/intern/cycles/kernel/kernel_shader.h @@ -891,7 +891,7 @@ __device bool shader_transparent_shadow(KernelGlobals *kg, Intersection *isect) #endif int flag = kernel_tex_fetch(__shader_flag, (shader & SHADER_MASK)*2); - return (flag & SD_HAS_SURFACE_TRANSPARENT) != 0; + return (flag & SD_HAS_TRANSPARENT_SHADOW) != 0; } #endif diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index 6ae3b10595c..a9f1831fc7d 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -492,8 +492,8 @@ enum ShaderDataFlag { SD_CLOSURE_FLAGS = (SD_EMISSION|SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY|SD_BSSRDF|SD_HOLDOUT|SD_VOLUME|SD_AO), /* shader flags */ - SD_SAMPLE_AS_LIGHT = 512, /* direct light sample */ - SD_HAS_SURFACE_TRANSPARENT = 1024, /* has surface transparency */ + SD_USE_MIS = 512, /* direct light sample */ + SD_HAS_TRANSPARENT_SHADOW = 1024, /* has transparent shadow */ SD_HAS_VOLUME = 2048, /* has volume shader */ SD_HOMOGENEOUS_VOLUME = 4096, /* has homogeneous volume */ |