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>2018-11-06 18:49:05 +0300
committerClément Foucault <foucault.clem@gmail.com>2018-11-07 02:19:14 +0300
commitfac2cfdfa776e0829c4d89b28392b1404edda5d6 (patch)
tree038cb7b0398ace858cdccb6a9b2917267c5067de /source/blender/draw/engines/eevee/shaders/prepass_frag.glsl
parent8a204ccdb49bd682e41a5d706726c3c77f6217fd (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.glsl5
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);