summaryrefslogtreecommitdiffstats
path: root/LibOVR/Src/CAPI/Shaders/DistortionChroma_vs.vsh
blob: bd154a0977363143a0c93a7c32d33d3b523098d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
float2   EyeToSourceUVScale;
float2   EyeToSourceUVOffset;

void main(in float2 Position    : POSITION,    in float4 Color       : COLOR0,
          in float2 TexCoord0   : TEXCOORD0,   in float2 TexCoord1   : TEXCOORD1, in float2 TexCoord2 : TEXCOORD2,
          out float4 oPosition  : SV_Position, out float4 oColor     : COLOR,     out float3 oTexCoord0 : TEXCOORD0,
          out float3 oTexCoord1 : TEXCOORD1,   out float3 oTexCoord2 : TEXCOORD2)
{
   oPosition.x = Position.x;
   oPosition.y = Position.y;
   oPosition.z = 0.5;
   oPosition.w = 1.0;

   // Scale them into  UV lookup space
   float2 tc0scaled = EyeToSourceUVScale * TexCoord0 + EyeToSourceUVOffset;
   float2 tc1scaled = EyeToSourceUVScale * TexCoord1 + EyeToSourceUVOffset;
   float2 tc2scaled = EyeToSourceUVScale * TexCoord2 + EyeToSourceUVOffset;

   oTexCoord0  = float3(tc0scaled, 1);      // R sample.
   oTexCoord1  = float3(tc1scaled, 1);      // G sample.
   oTexCoord2  = float3(tc2scaled, 1);      // B sample.
   oColor      = Color;                    // Used for vignette fade.
}