#include "ShaderConstants.fxh" struct VS_Input { float3 position : POSITION; float2 uv : TEXCOORD_0; #ifdef INSTANCEDSTEREO uint instanceID : SV_InstanceID; #endif }; struct PS_Input { float4 position : SV_Position; float2 uv : TEXCOORD_0; #ifdef INSTANCEDSTEREO uint instanceID : SV_InstanceID; #endif }; void main( in VS_Input VSInput, out PS_Input PSInput ) { #ifdef INSTANCEDSTEREO int i = VSInput.instanceID; PSInput.position = mul( WORLDVIEWPROJ_STEREO[i], float4( VSInput.position.x, VSInput.position.y, 0, 1 ) ); PSInput.instanceID = i; #else PSInput.position = mul(WORLDVIEWPROJ, float4( VSInput.position.x, VSInput.position.y, 0, 1 )); #endif PSInput.uv = VSInput.uv + 2.0 * VSInput.position.z * (VSInput.uv - float2(0.5, 0.5)); }