Files
UnrealEngine/Engine/Shaders/Private/Lumen/LumenCardPixelShader.usf
2025-05-18 13:04:45 +08:00

53 lines
1.6 KiB
HLSL

// Copyright Epic Games, Inc. All Rights Reserved.
#define LUMEN_CARD_CAPTURE 1
#include "../Common.ush"
#include "../BRDF.ush"
#define SceneTexturesStruct LumenCardPass.SceneTextures
#define EyeAdaptationStruct LumenCardPass
#include "/Engine/Generated/Material.ush"
#include "/Engine/Generated/VertexFactory.ush"
#include "LumenCardBasePass.ush"
struct FLumenCardInterpolantsVSToPS
{
};
void Main(
FVertexFactoryInterpolantsVSToPS Interpolants,
FLumenCardInterpolantsVSToPS PassInterpolants,
in INPUT_POSITION_QUALIFIERS float4 SvPosition : SV_Position // after all interpolators
OPTIONAL_IsFrontFace,
out float4 OutTarget0 : SV_Target0,
out float4 OutTarget1 : SV_Target1,
out float4 OutTarget2 : SV_Target2)
{
ResolvedView = ResolveView();
FMaterialPixelParameters MaterialParameters;
MaterialParameters = GetMaterialPixelParameters(Interpolants, SvPosition);
FPixelMaterialInputs PixelMaterialInputs;
{
float4 ScreenPosition = SvPositionToResolvedScreenPosition(SvPosition);
float3 TranslatedWorldPosition = SvPositionToResolvedTranslatedWorld(SvPosition);
CalcMaterialParametersEx(MaterialParameters, PixelMaterialInputs, SvPosition, ScreenPosition, bIsFrontFace, TranslatedWorldPosition, TranslatedWorldPosition);
}
FLumenCardBasePassOutput ShadedPixel = LumenCardBasePass(PixelMaterialInputs, MaterialParameters, SvPosition);
#if MATERIAL_VIRTUALTEXTURE_FEEDBACK
FinalizeVirtualTextureFeedback(
MaterialParameters.VirtualTextureFeedback,
SvPosition,
View.VTFeedbackBuffer);
#endif
OutTarget0 = ShadedPixel.Target0;
OutTarget1 = ShadedPixel.Target1;
OutTarget2 = ShadedPixel.Target2;
}