summaryrefslogtreecommitdiffstatshomepage
path: root/hlsl
diff options
context:
space:
mode:
Diffstat (limited to 'hlsl')
-rw-r--r--hlsl/color.fx9
-rw-r--r--hlsl/deconverge.fx16
-rw-r--r--hlsl/focus.fx13
-rw-r--r--hlsl/phosphor.fx13
-rw-r--r--hlsl/post.fx13
-rw-r--r--hlsl/prescale.fx18
-rw-r--r--hlsl/primary.fx11
-rw-r--r--hlsl/vector.fx11
8 files changed, 32 insertions, 72 deletions
diff --git a/hlsl/color.fx b/hlsl/color.fx
index 95881d71c2c..728e88ab85f 100644
--- a/hlsl/color.fx
+++ b/hlsl/color.fx
@@ -44,8 +44,7 @@ struct PS_INPUT
// Post-Processing Vertex Shader
//-----------------------------------------------------------------------------
-uniform float TargetWidth;
-uniform float TargetHeight;
+uniform float2 ScreenDims;
uniform float2 RawDims;
@@ -57,11 +56,9 @@ VS_OUTPUT vs_main(VS_INPUT Input)
float2 invDims = 1.0f / RawDims;
Output.Position = float4(Input.Position.xyz, 1.0f);
- Output.Position.x /= TargetWidth;
- Output.Position.y /= TargetHeight;
+ Output.Position.xy /= ScreenDims;
Output.Position.y = 1.0f - Output.Position.y;
- Output.Position.x -= 0.5f;
- Output.Position.y -= 0.5f;
+ Output.Position.xy -= 0.5f;
Output.Position *= float4(2.0f, 2.0f, 1.0f, 1.0f);
Output.Color = Input.Color;
Output.TexCoord = Input.TexCoord + 0.5f * invDims;
diff --git a/hlsl/deconverge.fx b/hlsl/deconverge.fx
index 1478dd23418..bcf3b2ee5a7 100644
--- a/hlsl/deconverge.fx
+++ b/hlsl/deconverge.fx
@@ -57,8 +57,7 @@ struct PS_INPUT
uniform float3 ConvergeX = float3(0.0f, 0.0f, 0.0f);
uniform float3 ConvergeY = float3(0.0f, 0.0f, 0.0f);
-uniform float TargetWidth;
-uniform float TargetHeight;
+uniform float2 ScreenDims;
uniform float2 RawDims;
@@ -76,11 +75,9 @@ VS_OUTPUT vs_main(VS_INPUT Input)
float2 invDims = 1.0f / RawDims;
float2 Ratios = SizeRatio;
Output.Position = float4(Input.Position.xyz, 1.0f);
- Output.Position.x /= TargetWidth;
- Output.Position.y /= TargetHeight;
+ Output.Position.xy /= ScreenDims;
Output.Position.y = 1.0f - Output.Position.y;
- Output.Position.x -= 0.5f;
- Output.Position.y -= 0.5f;
+ Output.Position.xy -= 0.5f;
Output.Position *= float4(2.0f, 2.0f, 1.0f, 1.0f);
Output.Color = Input.Color;
float2 TexCoord = Input.TexCoord;
@@ -95,9 +92,6 @@ VS_OUTPUT vs_main(VS_INPUT Input)
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.RedCoord = (ScaledRatio * (1.0f + RadialRed / RawDims) + 0.5f) * SizeRatio + ConvergeRed * invDims;
- //Output.GrnCoord = (ScaledRatio * (1.0f + RadialGrn / RawDims) + 0.5f) * SizeRatio + ConvergeGrn * invDims;
- //Output.BluCoord = (ScaledRatio * (1.0f + RadialBlu / RawDims) + 0.5f) * SizeRatio + ConvergeBlu * invDims;
Output.TexCoord = TexCoord;
return Output;
@@ -110,14 +104,10 @@ VS_OUTPUT vs_main(VS_INPUT Input)
float4 ps_main(PS_INPUT Input) : COLOR
{
float Alpha = tex2D(DiffuseSampler, Input.TexCoord).a;
- //float RedTexel = tex2D(DiffuseSampler, Input.RedCoord).r;
- //float GrnTexel = tex2D(DiffuseSampler, Input.GrnCoord).g;
- //float BluTexel = tex2D(DiffuseSampler, Input.BluCoord).b;
float RedTexel = tex2D(DiffuseSampler, float2(Input.CoordX.x, Input.CoordY.x)).r;
float GrnTexel = tex2D(DiffuseSampler, float2(Input.CoordX.y, Input.CoordY.y)).g;
float BluTexel = tex2D(DiffuseSampler, float2(Input.CoordX.z, Input.CoordY.z)).b;
- //return float4(Input.TexCoord, 0.0f, 1.0f);
return float4(RedTexel, GrnTexel, BluTexel, Alpha);
}
diff --git a/hlsl/focus.fx b/hlsl/focus.fx
index f51957d630c..6cb8cbdc56f 100644
--- a/hlsl/focus.fx
+++ b/hlsl/focus.fx
@@ -58,9 +58,7 @@ struct PS_INPUT
// Simple Vertex Shader
//-----------------------------------------------------------------------------
-uniform float TargetWidth;
-uniform float TargetHeight;
-
+uniform float2 ScreenDims;
uniform float2 Defocus = float2(0.0f, 0.0f);
float2 Coord0Offset = float2( 0.0f, 0.0f);
@@ -77,17 +75,14 @@ VS_OUTPUT vs_main(VS_INPUT Input)
VS_OUTPUT Output = (VS_OUTPUT)0;
Output.Position = float4(Input.Position.xyz, 1.0f);
- Output.Position.x /= TargetWidth;
- Output.Position.y /= TargetHeight;
+ Output.Position.xy /= ScreenDims;
Output.Position.y = 1.0f - Output.Position.y;
- Output.Position.x -= 0.5f;
- Output.Position.y -= 0.5f;
+ Output.Position.xy -= 0.5f;
Output.Position *= float4(2.0f, 2.0f, 1.0f, 1.0f);
Output.Color = Input.Color;
- float2 InvTexSize = float2(1.0f / TargetWidth, 1.0f / TargetHeight);
+ float2 InvTexSize = 1.0f / ScreenDims;
float2 TexCoord = Input.TexCoord;
- TexCoord = TexCoord;// + float2(0.5f, -0.5f) * InvTexSize;
Output.TexCoord0 = TexCoord + Coord0Offset * InvTexSize * Defocus;
Output.TexCoord1 = TexCoord + Coord1Offset * InvTexSize * Defocus;
Output.TexCoord2 = TexCoord + Coord2Offset * InvTexSize * Defocus;
diff --git a/hlsl/phosphor.fx b/hlsl/phosphor.fx
index b1842fdf02a..99f7574e1f5 100644
--- a/hlsl/phosphor.fx
+++ b/hlsl/phosphor.fx
@@ -59,8 +59,7 @@ struct PS_INPUT
// Simple Vertex Shader
//-----------------------------------------------------------------------------
-uniform float TargetWidth;
-uniform float TargetHeight;
+uniform float2 ScreenDims;
uniform float TextureWidth;
uniform float TextureHeight;
@@ -72,16 +71,14 @@ VS_OUTPUT vs_main(VS_INPUT Input)
VS_OUTPUT Output = (VS_OUTPUT)0;
Output.Position = float4(Input.Position.xyz, 1.0f);
- Output.Position.x /= TargetWidth;
- Output.Position.y /= TargetHeight;
+ Output.Position.xy /= ScreenDims;
Output.Position.y = 1.0f - Output.Position.y;
- Output.Position.x -= 0.5f;
- Output.Position.y -= 0.5f;
+ Output.Position.xy -= 0.5f;
Output.Position *= float4(2.0f, 2.0f, 1.0f, 1.0f);
Output.Color = Input.Color;
- float2 InvTexSize = float2(1.0f / TextureWidth, 1.0f / TextureHeight);
- Output.TexCoord = Input.TexCoord + float2(0.5f, 0.5f) * InvTexSize;
+ float2 HalfTexOffset = 0.5f / float2(TextureWidth, TextureHeight);
+ Output.TexCoord = Input.TexCoord + HalfTexOffset;
Output.PrevCoord = Output.TexCoord;
return Output;
diff --git a/hlsl/post.fx b/hlsl/post.fx
index bbc924af8ed..e8213b345f2 100644
--- a/hlsl/post.fx
+++ b/hlsl/post.fx
@@ -57,8 +57,7 @@ struct PS_INPUT
// Scanline & Shadowmask Vertex Shader
//-----------------------------------------------------------------------------
-uniform float TargetWidth;
-uniform float TargetHeight;
+uniform float2 ScreenDims;
uniform float2 RawDims;
@@ -69,14 +68,12 @@ VS_OUTPUT vs_main(VS_INPUT Input)
VS_OUTPUT Output = (VS_OUTPUT)0;
Output.Position = float4(Input.Position.xyz, 1.0f);
- Output.Position.x /= TargetWidth;
- Output.Position.y /= TargetHeight;
+ Output.Position.xy /= ScreenDims;
Output.Position.y = 1.0f - Output.Position.y;
- Output.Position.x -= 0.5f;
- Output.Position.y -= 0.5f;
+ Output.Position.xy -= 0.5f;
Output.Position *= float4(2.0f, 2.0f, 1.0f, 1.0f);
Output.Color = Input.Color;
- Output.TexCoord = Input.TexCoord + 0.5f / RawDims;//float2(TargetWidth, TargetHeight);
+ Output.TexCoord = Input.TexCoord + 0.5f / RawDims;
return Output;
}
@@ -120,7 +117,7 @@ float4 ps_main(PS_INPUT Input) : COLOR
float PincushionR2 = pow(length(PinUnitCoord), 2.0f) / pow(length(Ratios), 2.0f);
float2 PincushionCurve = PinUnitCoord * PincushionAmount * PincushionR2;
float2 BaseCoord = Input.TexCoord;
- float2 ScanCoord = BaseCoord - 0.5f / float2(TargetWidth, TargetHeight);
+ float2 ScanCoord = BaseCoord - 0.5f / ScreenDims;
BaseCoord -= 0.5f / Ratios;
BaseCoord *= 1.0f - PincushionAmount * Ratios * 0.2f; // Warning: Magic constant
diff --git a/hlsl/prescale.fx b/hlsl/prescale.fx
index 3c207875ca2..c4aa19d86c0 100644
--- a/hlsl/prescale.fx
+++ b/hlsl/prescale.fx
@@ -42,24 +42,20 @@ struct PS_INPUT
// Passthrough Vertex Shader
//-----------------------------------------------------------------------------
-uniform float TargetWidth;
-uniform float TargetHeight;
-
uniform float2 RawDims;
+uniform float2 ScreenDims;
VS_OUTPUT vs_main(VS_INPUT Input)
{
VS_OUTPUT Output = (VS_OUTPUT)0;
Output.Position = float4(Input.Position.xyz, 1.0f);
- Output.Position.x /= TargetWidth;
- Output.Position.y /= TargetHeight;
+ Output.Position.xy /= ScreenDims;
Output.Position.y = 1.0f - Output.Position.y;
- Output.Position.x -= 0.5f;
- Output.Position.y -= 0.5f;
+ Output.Position.xy -= 0.5f;
Output.Position *= float4(2.0f, 2.0f, 1.0f, 1.0f);
- Output.TexCoord = Input.TexCoord + 0.5f / float2(TargetWidth, TargetHeight);
+ Output.TexCoord = Input.TexCoord + 0.5f / ScreenDims;
return Output;
}
@@ -70,12 +66,6 @@ VS_OUTPUT vs_main(VS_INPUT Input)
float4 ps_main(PS_INPUT Input) : COLOR
{
- //float2 TexCoord = Input.TexCoord * RawDims;
- //TexCoord -= frac(TexCoord);
- //TexCoord += 0.5f;
- //TexCoord /= RawDims;
- //
- //return tex2D(DiffuseSampler, TexCoord);
return tex2D(DiffuseSampler, Input.TexCoord);
}
diff --git a/hlsl/primary.fx b/hlsl/primary.fx
index 472c2dc4692..4abf9a60f8b 100644
--- a/hlsl/primary.fx
+++ b/hlsl/primary.fx
@@ -44,8 +44,7 @@ struct PS_INPUT
// Simple Vertex Shader
//-----------------------------------------------------------------------------
-uniform float TargetWidth;
-uniform float TargetHeight;
+uniform float2 ScreenDims;
uniform float PostPass;
uniform float FixedAlpha;
uniform float Brighten;
@@ -55,14 +54,12 @@ VS_OUTPUT vs_main(VS_INPUT Input)
VS_OUTPUT Output = (VS_OUTPUT)0;
Output.Position = float4(Input.Position.xyz, 1.0f);
- Output.Position.x /= TargetWidth;
- Output.Position.y /= TargetHeight;
+ Output.Position.xy /= ScreenDims;
Output.Position.y = 1.0f - Output.Position.y;
- Output.Position.x -= 0.5f;
- Output.Position.y -= 0.5f;
+ Output.Position.xy -= 0.5f;
Output.Position *= float4(2.0f, 2.0f, 1.0f, 1.0f);
Output.Color = Input.Color;
- Output.TexCoord = lerp(Input.TexCoord, Input.Position.xy / float2(TargetWidth, TargetHeight), PostPass);
+ Output.TexCoord = lerp(Input.TexCoord, Input.Position.xy / ScreenDims, PostPass);
return Output;
}
diff --git a/hlsl/vector.fx b/hlsl/vector.fx
index 89072253e88..295a6111ceb 100644
--- a/hlsl/vector.fx
+++ b/hlsl/vector.fx
@@ -33,8 +33,7 @@ struct PS_INPUT
// Simple Vertex Shader
//-----------------------------------------------------------------------------
-uniform float TargetWidth;
-uniform float TargetHeight;
+uniform float2 ScreenDims;
uniform float2 TimeParams;
uniform float3 LengthParams;
@@ -43,14 +42,12 @@ VS_OUTPUT vs_main(VS_INPUT Input)
VS_OUTPUT Output = (VS_OUTPUT)0;
Output.Position = float4(Input.Position.xyz, 1.0f);
- Output.Position.x /= TargetWidth;
- Output.Position.y /= TargetHeight;
+ Output.Position.xy /= ScreenDims;
Output.Position.y = 1.0f - Output.Position.y;
- Output.Position.x -= 0.5f;
- Output.Position.y -= 0.5f;
+ Output.Position.xy -= 0.5f;
Output.Position *= float4(2.0f, 2.0f, 1.0f, 1.0f);
Output.Color = Input.Color;
- Output.TexCoord = Input.Position.xy / float2(TargetWidth, TargetHeight);
+ Output.TexCoord = Input.Position.xy / ScreenDims;
Output.LineInfo = Input.LineInfo;
return Output;
}