Bläddra i källkod

Merge pull request #1129 from sebavan/FixBias

Dynamic LOD Based Threshold
David Catuhe 9 år sedan
förälder
incheckning
d9d6abaafe
1 ändrade filer med 2 tillägg och 2 borttagningar
  1. 2 2
      src/Shaders/pbr.fragment.fx

+ 2 - 2
src/Shaders/pbr.fragment.fx

@@ -339,7 +339,7 @@ vec3 surfaceRefractionColor = vec3(0., 0., 0.);
             #ifdef LODBASEDMICROSFURACE
                 #ifdef USEPMREMREFRACTION
                     // Empiric Threshold
-                    if (microSurface > 0.5)
+                    if ((vMicrosurfaceTextureLods.y - lodRefraction) > 4.0)
                     {
                         // Bend to not reach edges.
                         float scaleRefraction = 1. - exp2(lodRefraction) / exp2(vMicrosurfaceTextureLods.y); // CubemapSize is the size of the base mipmap
@@ -398,7 +398,7 @@ vec3 environmentIrradiance = vReflectionColor.rgb;
         #ifdef LODBASEDMICROSFURACE
             #ifdef USEPMREMREFLECTION
                 // Empiric Threshold
-                if (microSurface > 0.5)
+                if ((vMicrosurfaceTextureLods.y - lodReflection) > 4.0)
                 {
                     // Bend to not reach edges.
                     float scaleReflection = 1. - exp2(lodReflection) / exp2(vMicrosurfaceTextureLods.x); // CubemapSize is the size of the base mipmap