diff options
Diffstat (limited to 'hlsl')
-rw-r--r-- | hlsl/color.fx | 9 | ||||
-rw-r--r-- | hlsl/deconverge.fx | 16 | ||||
-rw-r--r-- | hlsl/focus.fx | 13 | ||||
-rw-r--r-- | hlsl/phosphor.fx | 13 | ||||
-rw-r--r-- | hlsl/post.fx | 13 | ||||
-rw-r--r-- | hlsl/prescale.fx | 18 | ||||
-rw-r--r-- | hlsl/primary.fx | 11 | ||||
-rw-r--r-- | hlsl/vector.fx | 11 |
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; } |