0001: // 0002: // Almost fixed function 0003: // 0004: 0005: // ---------------------------------------------------------------------------- 0006: // Input datas 0007: // ---------------------------------------------------------------------------- 0008: struct appdata { 0009: float4 position : POSITION; 0010: float4 texcoord0 : TEXCOORD0; 0011: }; 0012: // ---------------------------------------------------------------------------- 0013: // Vertex shader program 0014: // ---------------------------------------------------------------------------- 0015: vf20 main(appdata I 0016: , uniform float4x4 worldviewproj_matrix 0017: ) { 0018: vf20 O; 0019: 0020: // Traditional coordinate transformation 0021: O.HPOS = mul(worldviewproj_matrix, I.position); 0022: 0023: // texture coordinates is simply copy the input 0024: O.TEX0 = I.texcoord0; 0025: O.TEX1 = I.texcoord0; 0026: 0027: return O; 0028: } 0029: 0030: 0031: