vault backup: 2025-02-11 21:12:55

This commit is contained in:
BlueRose 2025-02-11 21:12:55 +08:00
parent bb9633fecd
commit da264458f6

View File

@ -360,8 +360,9 @@ void DeferredLightPixelMain(
const float SceneDepth = CalcSceneDepth(InputParams.ScreenUV);
const FDerivedParams DerivedParams = GetDerivedParams(InputParams, SceneDepth);
//设置获取光源各种信息
FDeferredLightData LightData = InitDeferredLightFromUniforms(CURRENT_LIGHT_TYPE);
UpdateLightDataColor(LightData, InputParams, DerivedParams);
UpdateLightDataColor(LightData, InputParams, DerivedParams);//根据当前世界坐标计算LightData.Color *= 大气&云&阴影的衰减值 * IES灯亮度非IES灯数值为1
float3 V =-DerivedParams.CameraVector;
float3 L = LightData.Direction; // Already normalized
@ -404,7 +405,7 @@ void DeferredLightPixelMain(
}
#else // STRATA_ENABLED
//取得屏幕空间数据FGbufferData、AO
FScreenSpaceData ScreenSpaceData = GetScreenSpaceData(InputParams.ScreenUV);
// Only light pixels marked as using deferred shading
BRANCH if (ScreenSpaceData.GBuffer.ShadingModelID > 0
@ -413,19 +414,23 @@ void DeferredLightPixelMain(
#endif
)
{
//通过SceneDepth获取的CameraVector以及当前像素的世界坐标
const float SceneDepth = CalcSceneDepth(InputParams.ScreenUV);
const FDerivedParams DerivedParams = GetDerivedParams(InputParams, SceneDepth);
//设置获取光源各种信息
FDeferredLightData LightData = InitDeferredLightFromUniforms(CURRENT_LIGHT_TYPE);
UpdateLightDataColor(LightData, InputParams, DerivedParams);
UpdateLightDataColor(LightData, InputParams, DerivedParams);//根据当前世界坐标计算LightData.Color *= 大气&云&阴影的衰减值 * IES灯亮度非IES灯数值为1
#if USE_HAIR_COMPLEX_TRANSMITTANCE
//针对ShadingModel Hair同时需要CustomData.a > 0)计算头发散射结果
if (ScreenSpaceData.GBuffer.ShadingModelID == SHADINGMODELID_HAIR && ShouldUseHairComplexTransmittance(ScreenSpaceData.GBuffer))
{
LightData.HairTransmittance = EvaluateDualScattering(ScreenSpaceData.GBuffer, DerivedParams.CameraVector, -DeferredLightUniforms.Direction);
}
#endif
//计算当前像素的抖动值
float Dither = InterleavedGradientNoise(InputParams.PixelPos, View.StateFrameIndexMod8);
float SurfaceShadow = 1.0f;