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: