vault backup: 2025-02-13 14:47:34

This commit is contained in:
2025-02-13 14:47:34 +08:00
parent ac2194ab1d
commit 659e17be8a
2 changed files with 5 additions and 4 deletions

View File

@@ -780,7 +780,7 @@ void GetShadowTerms(float SceneDepth, half4 PrecomputedShadowFactors, uint Shadi
float StepOffset = Dither - 0.5;
bool bHitCastContactShadow = false;
bool bHairNoShadowLight = ShadingModelID == SHADINGMODELID_HAIR && !LightData.ShadowedBits;
float HitDistance = ShadowRayCast( TranslatedWorldPosition, L, ContactShadowLength, 8, StepOffset, bHairNoShadowLight, bHitCastContactShadow );
float HitDistance = ShadowRayCast( TranslatedWorldPosition, L, ContactShadowLength, 8, StepOffset, bHairNoShadowLight, bHitCastContactShadow );//通过RayMarching来计算是否HitContactShadow以及HitDistance。
if ( HitDistance > 0.0 )
{
@@ -803,9 +803,9 @@ void GetShadowTerms(float SceneDepth, half4 PrecomputedShadowFactors, uint Shadi
ContactShadowOcclusion *= 1.0 - saturate( exp( -Density * HitDistance ) );
}
#endif
float ContactShadow = 1.0 - ContactShadowOcclusion;
//根据是否命中赋予对应的ContactShadow亮度数值之后乘以Shadow.SurfaceShadow与Shadow.TransmissionShadow。
Shadow.SurfaceShadow *= ContactShadow;
Shadow.TransmissionShadow *= ContactShadow;
}