vault backup: 2025-02-13 12:06:27
This commit is contained in:
parent
461bb73f40
commit
5321a467c5
@ -650,6 +650,7 @@ void GetShadowTerms(float SceneDepth, half4 PrecomputedShadowFactors, uint Shadi
|
|||||||
BRANCH
|
BRANCH
|
||||||
if (LightData.ShadowedBits)
|
if (LightData.ShadowedBits)
|
||||||
{
|
{
|
||||||
|
// 重新映射ShadowProjection结果
|
||||||
// Remapping the light attenuation buffer (see ShadowRendering.cpp)
|
// Remapping the light attenuation buffer (see ShadowRendering.cpp)
|
||||||
|
|
||||||
// LightAttenuation: Light function + per-object shadows in z, per-object SSS shadowing in w,
|
// LightAttenuation: Light function + per-object shadows in z, per-object SSS shadowing in w,
|
||||||
@ -662,16 +663,16 @@ void GetShadowTerms(float SceneDepth, half4 PrecomputedShadowFactors, uint Shadi
|
|||||||
half StaticShadowing = 1.0f;
|
half StaticShadowing = 1.0f;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (LightData.bRadialLight || SHADING_PATH_MOBILE)
|
if (LightData.bRadialLight || SHADING_PATH_MOBILE)//一般是 PointLight or SpotLight。径向衰减(radial attenuation):指光照强度随距离光源的远近而衰减的特性(通常遵循平方反比定律)。
|
||||||
{
|
{
|
||||||
// Remapping the light attenuation buffer (see ShadowRendering.cpp)
|
// Remapping the light attenuation buffer (see ShadowRendering.cpp)
|
||||||
|
|
||||||
Shadow.SurfaceShadow = LightAttenuation.z * StaticShadowing;
|
Shadow.SurfaceShadow = LightAttenuation.z * StaticShadowing;//RadialLight灯光的阴影项计算不受AO影响,赋值Light function + per-object的ShadowProjection
|
||||||
// SSS uses a separate shadowing term that allows light to penetrate the surface
|
// SSS uses a separate shadowing term that allows light to penetrate the surface
|
||||||
//@todo - how to do static shadowing of SSS correctly?
|
//@todo - how to do static shadowing of SSS correctly?
|
||||||
Shadow.TransmissionShadow = LightAttenuation.w * StaticShadowing;
|
Shadow.TransmissionShadow = LightAttenuation.w * StaticShadowing;//per-object SSS shadowing
|
||||||
|
|
||||||
Shadow.TransmissionThickness = LightAttenuation.w;
|
Shadow.TransmissionThickness = LightAttenuation.w;//per-object SSS shadowing
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user