void basicPassthroughTangent_v(float4 position : POSITION, float3 tangent : TANGENT, out float4 oPosition : POSITION, out float3 oTangent : TEXCOORD0, uniform float4x4 worldViewProj) { oPosition = mul(worldViewProj, position); oTangent = tangent; } void basicPassthroughNormal_v(float4 position : POSITION, float3 normal : NORMAL, out float4 oPosition : POSITION, out float3 oNormal : TEXCOORD0, uniform float4x4 worldViewProj) { oPosition = mul(worldViewProj, position); oNormal = normal; } // Basic fragment program to display UV float4 showuv_p (float2 uv : TEXCOORD0) : COLOR { // wrap values using frac return float4(frac(uv.x), frac(uv.y), 0, 1); } // Basic fragment program to display 3d uv float4 showuvdir3d_p (float3 uv : TEXCOORD0) : COLOR { float3 n = normalize(uv); return float4(n.x, n.y, n.z, 1); }