vault backup: 2025-02-11 21:12:55
This commit is contained in:
parent
bb9633fecd
commit
da264458f6
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user