diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2018-11-06 18:49:05 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2018-11-07 02:19:14 +0300 |
commit | fac2cfdfa776e0829c4d89b28392b1404edda5d6 (patch) | |
tree | 038cb7b0398ace858cdccb6a9b2917267c5067de /source/blender/draw/engines/eevee/shaders/prepass_frag.glsl | |
parent | 8a204ccdb49bd682e41a5d706726c3c77f6217fd (diff) |
Eevee: Improve Hashed Alpha transparency by reducing noise size
This only affect renders and static viewport accumulation.
It reduces helps reduce noise when lots of half transparent surfaces
overlaps.
Diffstat (limited to 'source/blender/draw/engines/eevee/shaders/prepass_frag.glsl')
-rw-r--r-- | source/blender/draw/engines/eevee/shaders/prepass_frag.glsl | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/source/blender/draw/engines/eevee/shaders/prepass_frag.glsl b/source/blender/draw/engines/eevee/shaders/prepass_frag.glsl index 1c0e65f0613..6b6ab0c0bcc 100644 --- a/source/blender/draw/engines/eevee/shaders/prepass_frag.glsl +++ b/source/blender/draw/engines/eevee/shaders/prepass_frag.glsl @@ -11,14 +11,13 @@ float hash3d(vec3 a) { } uniform float hashAlphaOffset; +uniform float hashAlphaScale = 1.0; /* Roughly in pixel */ float hashed_alpha_threshold(vec3 co) { - const float hash_scale = 1.0; /* Roughly in pixel */ - /* Find the discretized derivatives of our coordinates. */ float max_deriv = max(length(dFdx(co)), length(dFdy(co))); - float pix_scale = 1.0 / (hash_scale * max_deriv); + float pix_scale = 1.0 / (hashAlphaScale * max_deriv); /* Find two nearest log-discretized noise scales. */ float pix_scale_log = log2(pix_scale); |