0001: vs.1.0 0002: 0003: ; c0-3 -- world + ビュー + 透視変換行列 0004: ; c4-7 -- world 行列 0005: ; c8-11 -- world の逆転置行列 0006: ; c12 -- {0.0, 0.5, 1.0, -1.0} 0007: ; c13 -- ライトのベクトル 0008: ; c14 -- カメラの位置 0009: ; c15 -- メッシュの色 0010: ; 0011: ; v0 頂点の座標値 0012: ; v3 法線ベクトル 0013: ; v7 テクスチャ座標0 0014: ; v8 テクスチャ座標1 0015: 0016: ;座標変換 0017: dp4 oPos.x, v0, c0 0018: dp4 oPos.y, v0, c1 0019: dp4 oPos.z, v0, c2 0020: dp4 oPos.w, v0, c3 0021: 0022: ; ((l,n)+1)/2 (平行光源のライティングを0~1に範囲変更) 0023: dp3 r0.x, v3, c13 0024: add r0.x, r0, c12.z 0025: mul oT0.x, r0.x, c12.y 0026: 0027: ; スクリーン座標をテクスチャー座標に設定 0028: dp4 r0.x, v0, c0 0029: dp4 r0.y, v0, c1 0030: dp4 r0.w, v0, c3 0031: rcp r0.w, r0.w 0032: mul r0.xy, r0, r0.w 0033: mul oT1.xy, r0, c12.ww 0034: 0035: ; メッシュの色 0036: mov oD0, c15