diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2020-02-14 14:20:12 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2020-02-25 13:44:47 +0300 |
commit | e0085bfd24da3dcfb30498ad8c579620042aa6c5 (patch) | |
tree | 5b0c9a9dab1b8cc72add4f3bf0f9a331f6a87df4 /intern/cycles/kernel/kernel_types.h | |
parent | e6be2af061ba154ec633fcaf3e4caecacec521c6 (diff) |
Cycles: move sss and diffuse transmission into diffuse pass
This simplifies compositors setups and will be consistent with Eevee render
passes from D6331. There's a continuum between these passes and it's not clear
there is much advantage to having them available separately.
Differential Revision: https://developer.blender.org/D6848
Diffstat (limited to 'intern/cycles/kernel/kernel_types.h')
-rw-r--r-- | intern/cycles/kernel/kernel_types.h | 37 |
1 files changed, 9 insertions, 28 deletions
diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index 68cb1e974f0..75187ad1bd2 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -220,7 +220,6 @@ typedef enum ShaderEvalType { SHADER_EVAL_DIFFUSE_COLOR, SHADER_EVAL_GLOSSY_COLOR, SHADER_EVAL_TRANSMISSION_COLOR, - SHADER_EVAL_SUBSURFACE_COLOR, SHADER_EVAL_EMISSION, SHADER_EVAL_AOV_COLOR, SHADER_EVAL_AOV_VALUE, @@ -232,7 +231,6 @@ typedef enum ShaderEvalType { SHADER_EVAL_DIFFUSE, SHADER_EVAL_GLOSSY, SHADER_EVAL_TRANSMISSION, - SHADER_EVAL_SUBSURFACE, /* extra */ SHADER_EVAL_ENVIRONMENT, @@ -392,9 +390,6 @@ typedef enum PassType { PASS_TRANSMISSION_DIRECT, PASS_TRANSMISSION_INDIRECT, PASS_TRANSMISSION_COLOR, - PASS_SUBSURFACE_DIRECT, - PASS_SUBSURFACE_INDIRECT, - PASS_SUBSURFACE_COLOR, PASS_VOLUME_DIRECT, PASS_VOLUME_INDIRECT, /* No Scatter color since it's tricky to define what it would even mean. */ @@ -445,23 +440,20 @@ typedef enum eBakePassFilter { BAKE_FILTER_DIFFUSE = (1 << 3), BAKE_FILTER_GLOSSY = (1 << 4), BAKE_FILTER_TRANSMISSION = (1 << 5), - BAKE_FILTER_SUBSURFACE = (1 << 6), - BAKE_FILTER_EMISSION = (1 << 7), - BAKE_FILTER_AO = (1 << 8), + BAKE_FILTER_EMISSION = (1 << 6), + BAKE_FILTER_AO = (1 << 7), } eBakePassFilter; typedef enum BakePassFilterCombos { BAKE_FILTER_COMBINED = (BAKE_FILTER_DIRECT | BAKE_FILTER_INDIRECT | BAKE_FILTER_DIFFUSE | - BAKE_FILTER_GLOSSY | BAKE_FILTER_TRANSMISSION | BAKE_FILTER_SUBSURFACE | - BAKE_FILTER_EMISSION | BAKE_FILTER_AO), + BAKE_FILTER_GLOSSY | BAKE_FILTER_TRANSMISSION | BAKE_FILTER_EMISSION | + BAKE_FILTER_AO), BAKE_FILTER_DIFFUSE_DIRECT = (BAKE_FILTER_DIRECT | BAKE_FILTER_DIFFUSE), BAKE_FILTER_GLOSSY_DIRECT = (BAKE_FILTER_DIRECT | BAKE_FILTER_GLOSSY), BAKE_FILTER_TRANSMISSION_DIRECT = (BAKE_FILTER_DIRECT | BAKE_FILTER_TRANSMISSION), - BAKE_FILTER_SUBSURFACE_DIRECT = (BAKE_FILTER_DIRECT | BAKE_FILTER_SUBSURFACE), BAKE_FILTER_DIFFUSE_INDIRECT = (BAKE_FILTER_INDIRECT | BAKE_FILTER_DIFFUSE), BAKE_FILTER_GLOSSY_INDIRECT = (BAKE_FILTER_INDIRECT | BAKE_FILTER_GLOSSY), BAKE_FILTER_TRANSMISSION_INDIRECT = (BAKE_FILTER_INDIRECT | BAKE_FILTER_TRANSMISSION), - BAKE_FILTER_SUBSURFACE_INDIRECT = (BAKE_FILTER_INDIRECT | BAKE_FILTER_SUBSURFACE), } BakePassFilterCombos; typedef enum DenoiseFlag { @@ -471,9 +463,7 @@ typedef enum DenoiseFlag { DENOISING_CLEAN_GLOSSY_IND = (1 << 3), DENOISING_CLEAN_TRANSMISSION_DIR = (1 << 4), DENOISING_CLEAN_TRANSMISSION_IND = (1 << 5), - DENOISING_CLEAN_SUBSURFACE_DIR = (1 << 6), - DENOISING_CLEAN_SUBSURFACE_IND = (1 << 7), - DENOISING_CLEAN_ALL_PASSES = (1 << 8) - 1, + DENOISING_CLEAN_ALL_PASSES = (1 << 6) - 1, } DenoiseFlag; #ifdef __KERNEL_DEBUG__ @@ -493,8 +483,7 @@ typedef ccl_addr_space struct PathRadianceState { float3 diffuse; float3 glossy; float3 transmission; - float3 subsurface; - float3 scatter; + float3 volume; float3 direct; #endif @@ -517,19 +506,16 @@ typedef ccl_addr_space struct PathRadiance { float3 color_diffuse; float3 color_glossy; float3 color_transmission; - float3 color_subsurface; float3 direct_diffuse; float3 direct_glossy; float3 direct_transmission; - float3 direct_subsurface; - float3 direct_scatter; + float3 direct_volume; float3 indirect_diffuse; float3 indirect_glossy; float3 indirect_transmission; - float3 indirect_subsurface; - float3 indirect_scatter; + float3 indirect_volume; float4 shadow; float mist; @@ -583,8 +569,7 @@ typedef struct BsdfEval { float3 glossy; float3 transmission; float3 transparent; - float3 subsurface; - float3 scatter; + float3 volume; #endif #ifdef __SHADOW_TRICKS__ float3 sum_no_mis; @@ -1214,18 +1199,15 @@ typedef struct KernelFilm { int pass_diffuse_color; int pass_glossy_color; int pass_transmission_color; - int pass_subsurface_color; int pass_diffuse_indirect; int pass_glossy_indirect; int pass_transmission_indirect; - int pass_subsurface_indirect; int pass_volume_indirect; int pass_diffuse_direct; int pass_glossy_direct; int pass_transmission_direct; - int pass_subsurface_direct; int pass_volume_direct; int pass_emission; @@ -1252,7 +1234,6 @@ typedef struct KernelFilm { int pass_aov_color; int pass_aov_value; int pad1; - int pad2; /* XYZ to rendering color space transform. float4 instead of float3 to * ensure consistent padding/alignment across devices. */ |