فهرست منبع

Fix Translucency Energie Cons

sebavan 4 سال پیش
والد
کامیت
00d5e9817c
2فایلهای تغییر یافته به همراه3 افزوده شده و 1 حذف شده
  1. 1 1
      src/Shaders/ShadersInclude/pbrBlockFinalLitComponents.fx
  2. 2 0
      src/Shaders/ShadersInclude/pbrBlockSubSurface.fx

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

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

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

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