struct VS_OUT { float4 hPosition : POSITION; float4 Position : TEXCOORD0; }; VS_OUT FocusingVS(float4 position : POSITION, uniform float4x4 world, uniform float4x4 worldViewProj, uniform float4x4 lightTransform) { VS_OUT OUT; OUT.hPosition = mul(worldViewProj, position); float4 wPos = mul(world, position); OUT.Position = mul(lightTransform, wPos); return OUT; } float4 FocusingPS(VS_OUT IN ):COLOR { return float4(IN.Position.xyz / IN.Position.w, 1); }