//////////////////////// // Set UV coordinates // //////////////////////// // transform positions into T0 - T3 dp4 oT0.x, v0, c26 dp4 oT0.y, v0, c27 dp4 oT1.x, v0, c28 dp4 oT1.y, v0, c29 dp4 oT2.x, v0, c30 dp4 oT2.y, v0, c31 dp4 oT3.x, v0, c32 dp4 oT3.y, v0, c33 // copy rgb mov oD0, c34 // transform + clamp alpha for dist fade off dp4 r0.x, v0, c35 min r0.x, r0.x , c34.w // alpha <= proj alpha max r0.x, r0.x, c94.w // alpha >= 0 // get normal angle from sun dir dp3 r0.y, v1, c7 // quantize to 0 or 1 mul r0.y, r0.y, c93.w // ang *= 4.0f min r0.y, r0.y, c93.x // clamp alpha <= 1 max r0.y, r0.y, c94.w // clamp alpha >= 0 // mul with alpha for final output mul oD0.w, r0.x, r0.y