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:
authorClément Foucault <foucault.clem@gmail.com>2021-10-07 14:43:51 +0300
committerClément Foucault <foucault.clem@gmail.com>2021-10-08 18:58:45 +0300
commitee7deb09cf32675248c52b115ad462d711ead02d (patch)
tree282d20a5acddc390fafec8c0ab2196810945267d /source/blender/draw/engines/eevee/eevee_shader.hh
parent9f85107fef7f20689cec83671b88b4c71b5ef8fd (diff)
EEVEE: Subsurface Scattering: New implementation
This new implementation follows the technique described in "Efficient screen space subsurface scattering Siggraph 2018". Compared to the old implementation it fixes a lot of issues at the cost of it being slower. This fixes: - Light leaking between different objects. - Light leaking between different surfaces with different depths. - SSS radii are now "texturable" per pixel. No SSS surfaces limits. - Noise should be lower. - Precomputation is only done once for all SSS surfaces which lowers the per material storage and precomputation time. Implementation is also simpler as it is only a one pass processing. We differ from the reference presentation by not precomputing the RGB weights per samples. We actually compute them on the fly in order to support varying SSS radii. Notes: - SSS IOR and SSS anisotropy are not supported. - Object level light leak prevention might not work for high number of objects in the scene (> 1024). In this case light leak might occur. Adding or deleting (hidding) objects in the scene might change which objects can leak.
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_shader.hh')
-rw-r--r--source/blender/draw/engines/eevee/eevee_shader.hh2
1 files changed, 2 insertions, 0 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_shader.hh b/source/blender/draw/engines/eevee/eevee_shader.hh
index 7e9d969fc15..792248540f7 100644
--- a/source/blender/draw/engines/eevee/eevee_shader.hh
+++ b/source/blender/draw/engines/eevee/eevee_shader.hh
@@ -93,6 +93,8 @@ enum eShaderType {
SHADOW_CLEAR,
+ SUBSURFACE_EVAL,
+
VELOCITY_CAMERA,
VELOCITY_MESH,