53 lines
1.6 KiB
HLSL
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;
|
|
} |