33 lines
909 B
HLSL
33 lines
909 B
HLSL
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
#include "/Engine/Public/Platform.ush"
|
|
#include "../ShaderUtil.ush"
|
|
#include "/Plugin/TextureGraph/SamplerStates.ush"
|
|
|
|
Texture2D SourceDisplacement;
|
|
Texture2D WorldPos;
|
|
Texture2D WorldNormals;
|
|
Texture2D WorldUVMask;
|
|
Texture2D MinMaxTex;
|
|
float MidPoint;
|
|
float StandardHeight;
|
|
float4 MeshBoundsMin;
|
|
float4 MeshBoundsSize;
|
|
|
|
|
|
float4 FSH_CombineDisplacementAndWorldPos(float2 uv : TEXCOORD0) : SV_Target0
|
|
{
|
|
half3 on = WorldNormals.Sample(SamplerStates_Linear_Clamp, uv).rgb;
|
|
on = (on * 2) - 1;
|
|
|
|
float addedDisplacement = SourceDisplacement.Sample(SamplerStates_Linear_Clamp, uv).r - MidPoint;
|
|
|
|
//Converting displacement back to meters
|
|
addedDisplacement /= StandardHeight;
|
|
|
|
float3 pt = WorldPos.Sample(SamplerStates_Linear_Clamp, uv).rgb;
|
|
pt = (pt * MeshBoundsSize.xyz) + MeshBoundsMin.xyz;
|
|
pt = pt + (addedDisplacement * on);
|
|
|
|
return float4(pt, 1);
|
|
}
|