diff options
Diffstat (limited to 'LibOVR/Src/CAPI/Shaders/DistortionChroma_vs.vsh')
-rw-r--r-- | LibOVR/Src/CAPI/Shaders/DistortionChroma_vs.vsh | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/LibOVR/Src/CAPI/Shaders/DistortionChroma_vs.vsh b/LibOVR/Src/CAPI/Shaders/DistortionChroma_vs.vsh new file mode 100644 index 0000000..6e11647 --- /dev/null +++ b/LibOVR/Src/CAPI/Shaders/DistortionChroma_vs.vsh @@ -0,0 +1,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. +} + |