0001: // 0002: // テクスチャーを張る頂点シェーダープログラム 0003: // 0004: 0005: // ---------------------------------------------------------------------------- 0006: // 入力用構造体 0007: // ---------------------------------------------------------------------------- 0008: struct appdata : application2vertex { 0009: float4 position; 0010: float2 texcoord0; 0011: }; 0012: 0013: // ---------------------------------------------------------------------------- 0014: // 出力用構造体 0015: // ---------------------------------------------------------------------------- 0016: struct vfconn : vertex2fragment { 0017: float4 HPOS; 0018: float2 texcoord0; 0019: }; 0020: // ---------------------------------------------------------------------------- 0021: // 頂点シェーダープログラム 0022: // ---------------------------------------------------------------------------- 0023: vfconn main(appdata I 0024: , uniform float4x4 worldviewproj_matrix 0025: ) { 0026: vfconn O; 0027: 0028: // 行列をかけて、頂点をスクリーン座標に変換する 0029: O.HPOS = mul(worldviewproj_matrix, I.position); 0030: 0031: // テクスチャー座標はそのままコピーする 0032: O.texcoord0 = I.texcoord0; 0033: 0034: return O; 0035: } 0036: 0037: 0038: