Преглед на файлове

Changes the way the fresnel term is computed in the PBR.glsllib for direct lighting, fixing some artifact when having a point light

Nehon преди 9 години
родител
ревизия
7d07a63ebf
променени са 1 файла, в които са добавени 1 реда и са изтрити 1 реда
  1. 1 1
      jme3-core/src/main/resources/Common/ShaderLib/PBR.glsllib

+ 1 - 1
jme3-core/src/main/resources/Common/ShaderLib/PBR.glsllib

@@ -80,7 +80,7 @@ void PBR_ComputeDirectLight(vec3 normal, vec3 lightDir, vec3 viewDir,
     float D = alpha2 / denom;  
 
     // Compute Fresnel function via Schlick's approximation.
-    float fresnel = fZero + ( 1.0 - fZero ) * pow( 1.0 - hdotv, 5.0 );
+    float fresnel = fZero + ( 1.0 - fZero ) * pow( 2.0, (-5.55473 * hdotv - 6.98316) * hdotv);
     
     //G Shchlick GGX Gometry shadowing term,  k = alpha/2
     float k = alpha * 0.5;