Commit: 97a77b43bea495ed39e9fcaaade3f6f179a5fa75
Author: Clément Foucault
Date:   Fri Jun 9 23:24:51 2017 +0200
Branches: blender2.8
https://developer.blender.org/rB97a77b43bea495ed39e9fcaaade3f6f179a5fa75

Eevee: Probe: fix roughness bug and optimize probe evaluation.

===================================================================

M       source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl

===================================================================

diff --git a/source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl 
b/source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl
index e2d92a31f72..e361f08b26b 100644
--- a/source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl
+++ b/source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl
@@ -283,14 +283,19 @@ vec3 eevee_surface_lit(vec3 world_normal, vec3 albedo, 
vec3 f0, float roughness,
        for (int i = 1; i < MAX_PROBE && i < probe_count; ++i) {
                ProbeData pd = probes_data[i];
 
-               vec3 sample_vec = probe_parallax_correction(sd.W, spec_dir, pd, 
roughness);
-               vec4 sample = textureLod_octahedron(probeCubes, 
vec4(sample_vec, i), roughness * lodMax).rgba;
-
                float dist_attenuation = probe_attenuation(sd.W, pd);
-               float influ_spec = min(dist_attenuation, (1.0 - spec_accum.a));
 
-               spec_accum.rgb += sample.rgb * influ_spec;
-               spec_accum.a += influ_spec;
+               if (dist_attenuation > 0.0) {
+                       float roughness_copy = roughness;
+
+                       vec3 sample_vec = probe_parallax_correction(sd.W, 
spec_dir, pd, roughness_copy);
+                       vec4 sample = textureLod_octahedron(probeCubes, 
vec4(sample_vec, i), roughness_copy * lodMax).rgba;
+
+                       float influ_spec = min(dist_attenuation, (1.0 - 
spec_accum.a));
+
+                       spec_accum.rgb += sample.rgb * influ_spec;
+                       spec_accum.a += influ_spec;
+               }
        }
 
        /* World probe */

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to