summaryrefslogtreecommitdiffstatshomepage
path: root/hlsl/pincushion.fx
diff options
context:
space:
mode:
Diffstat (limited to 'hlsl/pincushion.fx')
-rw-r--r--hlsl/pincushion.fx126
1 files changed, 0 insertions, 126 deletions
diff --git a/hlsl/pincushion.fx b/hlsl/pincushion.fx
deleted file mode 100644
index 7968363c1d6..00000000000
--- a/hlsl/pincushion.fx
+++ /dev/null
@@ -1,126 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Ryan Holtz
-//-----------------------------------------------------------------------------
-// Pincushion Post-Processing Effect
-//-----------------------------------------------------------------------------
-
-texture Diffuse;
-
-sampler DiffuseSampler = sampler_state
-{
- Texture = <Diffuse>;
- MipFilter = LINEAR;
- MinFilter = LINEAR;
- MagFilter = LINEAR;
- AddressU = CLAMP;
- AddressV = CLAMP;
- AddressW = CLAMP;
-};
-
-//-----------------------------------------------------------------------------
-// Vertex Definitions
-//-----------------------------------------------------------------------------
-
-struct VS_OUTPUT
-{
- float4 Position : POSITION;
- float4 Color : COLOR0;
- float2 TexCoord : TEXCOORD0;
- float2 RedCoord : TEXCOORD2;
- float2 GreenCoord : TEXCOORD3;
- float2 BlueCoord : TEXCOORD4;
-};
-
-struct VS_INPUT
-{
- float3 Position : POSITION;
- float4 Color : COLOR0;
- float2 TexCoord : TEXCOORD0;
- float2 Unused : TEXCOORD1;
-};
-
-struct PS_INPUT
-{
- float4 Color : COLOR0;
- float2 TexCoord : TEXCOORD0;
- float2 RedCoord : TEXCOORD2;
- float2 GreenCoord : TEXCOORD3;
- float2 BlueCoord : TEXCOORD4;
-};
-
-//-----------------------------------------------------------------------------
-// Post-Processing Vertex Shader
-//-----------------------------------------------------------------------------
-
-uniform float TargetWidth;
-uniform float TargetHeight;
-
-uniform float RawWidth;
-uniform float RawHeight;
-
-VS_OUTPUT vs_main(VS_INPUT Input)
-{
- VS_OUTPUT Output = (VS_OUTPUT)0;
-
- float2 invDims = float2(1.0f / RawWidth, 1.0f / RawHeight);
- Output.Position = float4(Input.Position.xyz, 1.0f);
- Output.Position.x /= TargetWidth;
- Output.Position.y /= TargetHeight;
- Output.Position.y = 1.0f - Output.Position.y;
- Output.Position.x -= 0.5f;
- Output.Position.y -= 0.5f;
- Output.Position *= float4(2.0f, 2.0f, 1.0f, 1.0f);
- Output.Color = Input.Color;
- Output.TexCoord = Input.TexCoord;
-
- Output.TexCoord.x -= 0.25f;
- Output.TexCoord.y -= 0.25f;
- Output.TexCoord.x -= 0.5f;
- Output.TexCoord.y -= 0.5f;
- Output.TexCoord.x /= 18.0f * (TargetWidth / RawWidth);
- Output.TexCoord.y /= 18.0f * (TargetHeight / RawHeight);
- Output.TexCoord.x += 0.5f;
- Output.TexCoord.y += 0.5f;
-
- return Output;
-}
-
-//-----------------------------------------------------------------------------
-// Post-Processing Pixel Shader
-//-----------------------------------------------------------------------------
-
-uniform float PI = 3.14159265f;
-
-uniform float PincushionAmountX = 0.1f;
-uniform float PincushionAmountY = 0.1f;
-
-uniform float2 ActiveArea;
-
-float4 ps_main(PS_INPUT Input) : COLOR
-{
- // -- Screen Pincushion Calculation --
- float2 UnitCoord = Input.TexCoord * ActiveArea * 2.0f - 1.0f;
-
- float PincushionR2 = pow(length(UnitCoord),2.0f) / pow(length(ActiveArea), 2.0f);
- float2 PincushionCurve = UnitCoord * PincushionAmountX * PincushionR2;
- float2 BaseCoord = Input.TexCoord + PincushionCurve;
-
- return tex2D(DiffuseSampler, BaseCoord);
-}
-
-//-----------------------------------------------------------------------------
-// Post-Processing Effect
-//-----------------------------------------------------------------------------
-
-technique TestTechnique
-{
- pass Pass0
- {
- Lighting = FALSE;
-
- Sampler[0] = <DiffuseSampler>;
-
- VertexShader = compile vs_2_0 vs_main();
- PixelShader = compile ps_2_0 ps_main();
- }
-}