diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2017-11-16 23:28:40 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2017-11-16 23:30:15 +0300 |
commit | 57c3fbd324a6ecb6a432aef034c814fe45b2f544 (patch) | |
tree | 9f3f5a5156ab633c5166b9921976c3f1e1b55885 /source/blender/gpu/GPU_material.h | |
parent | 88c88c4610260ef3d00420c3e9fc3c1cd56aad14 (diff) |
Eevee: SSS: Add Christensen-Burley diffusion profile.
This seems to be a correct implementation of the same diffusion profile as Cycles uses by default.
There are a few bias though:
- We consider _A_ the albedo to be 1 when evaluating _s_.
- We use a factor of 0.6 when computing _d_ to match more or less cycles results.
Note that doing per pixel jittering does bias the result even further (loss of energy).
Diffstat (limited to 'source/blender/gpu/GPU_material.h')
-rw-r--r-- | source/blender/gpu/GPU_material.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/gpu/GPU_material.h b/source/blender/gpu/GPU_material.h index 4b9f3c1d519..2a72b6996c4 100644 --- a/source/blender/gpu/GPU_material.h +++ b/source/blender/gpu/GPU_material.h @@ -235,7 +235,7 @@ void GPU_material_enable_alpha(GPUMaterial *material); GPUBuiltin GPU_get_material_builtins(GPUMaterial *material); GPUBlendMode GPU_material_alpha_blend(GPUMaterial *material, float obcol[4]); -void GPU_material_sss_profile_create(GPUMaterial *material, float *radii); +void GPU_material_sss_profile_create(GPUMaterial *material, float *radii, int *falloff_type); struct GPUUniformBuffer *GPU_material_sss_profile_get(GPUMaterial *material, int sample_ct); /* High level functions to create and use GPU materials */ |