Przeglądaj źródła

Fix Translucency Energie Cons

sebavan 4 lat temu
rodzic
commit
00d5e9817c

+ 1 - 1
src/Shaders/ShadersInclude/pbrBlockFinalLitComponents.fx

@@ -34,7 +34,7 @@
     #endif
     #endif
 
 
     #if defined(SS_TRANSLUCENCY)
     #if defined(SS_TRANSLUCENCY)
-        finalIrradiance *= (1.0 - subSurfaceOut.transmittance);
+        finalIrradiance *= (1.0 - subSurfaceOut.translucencyIntensity);
         finalIrradiance += subSurfaceOut.refractionIrradiance;
         finalIrradiance += subSurfaceOut.refractionIrradiance;
     #endif
     #endif
 
 

+ 2 - 0
src/Shaders/ShadersInclude/pbrBlockSubSurface.fx

@@ -13,6 +13,7 @@ struct subSurfaceOutParams
 #endif
 #endif
 #ifdef SS_TRANSLUCENCY
 #ifdef SS_TRANSLUCENCY
     vec3 transmittance;
     vec3 transmittance;
+    float translucencyIntensity;
     #ifdef REFLECTION
     #ifdef REFLECTION
         vec3 refractionIrradiance;
         vec3 refractionIrradiance;
     #endif
     #endif
@@ -154,6 +155,7 @@ struct subSurfaceOutParams
         vec3 transmittance = transmittanceBRDF_Burley(vTintColor.rgb, vDiffusionDistance, thickness);
         vec3 transmittance = transmittanceBRDF_Burley(vTintColor.rgb, vDiffusionDistance, thickness);
         transmittance *= translucencyIntensity;
         transmittance *= translucencyIntensity;
         outParams.transmittance = transmittance;
         outParams.transmittance = transmittance;
+        outParams.translucencyIntensity = translucencyIntensity;
     #endif
     #endif
 
 
     // _____________________________________________________________________________________
     // _____________________________________________________________________________________