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

28 lines
955 B
HLSL

// Copyright Epic Games, Inc. All Rights Reserved.
#include "LensDistortion.ush"
#include "ScreenPass.ush"
Texture2D<float2> UndistortingDisplacementTexture;
SamplerState UndistortingDisplacementSampler;
Texture2D HitProxyTexture;
FScreenTransform PassSvPositionToViewportUV;
FScreenTransform ViewportUVToHitProxyPixelPos;
int2 HitProxyPixelPosMin;
int2 HitProxyPixelPosMax;
void MainPS(float4 SvPosition : SV_POSITION, out float4 OutColor : SV_Target0)
{
float2 DistortedViewportUV = ApplyScreenTransform(SvPosition.xy, PassSvPositionToViewportUV);
float2 UndistortedViewportUV = ApplyLensDistortionOnViewportUV(UndistortingDisplacementTexture, UndistortingDisplacementSampler, DistortedViewportUV);
int2 HitProxyPixelPos = int2(ApplyScreenTransform(UndistortedViewportUV, ViewportUVToHitProxyPixelPos));
HitProxyPixelPos = clamp(HitProxyPixelPos, HitProxyPixelPosMin, HitProxyPixelPosMax);
OutColor = HitProxyTexture[HitProxyPixelPos];
;}