diff options
Diffstat (limited to 'hlsl/deconverge.fx')
-rw-r--r-- | hlsl/deconverge.fx | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/hlsl/deconverge.fx b/hlsl/deconverge.fx index bcf3b2ee5a7..90653b2927a 100644 --- a/hlsl/deconverge.fx +++ b/hlsl/deconverge.fx @@ -58,10 +58,8 @@ uniform float3 ConvergeX = float3(0.0f, 0.0f, 0.0f); uniform float3 ConvergeY = float3(0.0f, 0.0f, 0.0f); uniform float2 ScreenDims; - -uniform float2 RawDims; - -uniform float2 SizeRatio; +uniform float2 SourceDims; +uniform float2 SourceRect; uniform float3 RadialConvergeX = float3(0.0f, 0.0f, 0.0f); uniform float3 RadialConvergeY = float3(0.0f, 0.0f, 0.0f); @@ -72,8 +70,8 @@ VS_OUTPUT vs_main(VS_INPUT Input) { VS_OUTPUT Output = (VS_OUTPUT)0; - float2 invDims = 1.0f / RawDims; - float2 Ratios = SizeRatio; + float2 invDims = 1.0f / SourceDims; + float2 Ratios = SourceRect; Output.Position = float4(Input.Position.xyz, 1.0f); Output.Position.xy /= ScreenDims; Output.Position.y = 1.0f - Output.Position.y; @@ -88,10 +86,10 @@ VS_OUTPUT vs_main(VS_INPUT Input) float2 ConvergeRed = float2(ConvergeX.x, ConvergeY.x); float2 ConvergeGrn = float2(ConvergeX.y, ConvergeY.y); float2 ConvergeBlu = float2(ConvergeX.z, ConvergeY.z); - float2 ScaledRatio = ((TexCoord * SizeRatio) - 0.5f); + float2 ScaledRatio = ((TexCoord * SourceRect) - 0.5f); - Output.CoordX = ((((TexCoord.x / Ratios.x) - 0.5f)) * (1.0f + RadialConvergeX / RawDims.x) + 0.5f) * Ratios.x + ConvergeX * invDims.x; - Output.CoordY = ((((TexCoord.y / Ratios.y) - 0.5f)) * (1.0f + RadialConvergeY / RawDims.y) + 0.5f) * Ratios.y + ConvergeY * invDims.y; + Output.CoordX = ((((TexCoord.x / Ratios.x) - 0.5f)) * (1.0f + RadialConvergeX / SourceDims.x) + 0.5f) * Ratios.x + ConvergeX * invDims.x; + Output.CoordY = ((((TexCoord.y / Ratios.y) - 0.5f)) * (1.0f + RadialConvergeY / SourceDims.y) + 0.5f) * Ratios.y + ConvergeY * invDims.y; Output.TexCoord = TexCoord; return Output; |