0001: ; c30-33 -- world + ビュー + 透視変換行列 0002: ; c34-37 -- world 行列 0003: ; c12 -- {0.0, 0.5, 1.0, 2.0} 0004: ; c13 -- ライトのベクトル (w成分は環境光の強さ) 0005: ; c14 -- 視点の位置 0006: ; c15 -- ライトの色(平行光源の色*メッシュの色) 0007: ; 0008: ; v0 頂点の座標値 0009: ; v4 接空間の基底ベクトル S 0010: ; v5 接空間の基底ベクトル T 0011: ; v6 接空間の基底ベクトル SxT 0012: ; v7 テクスチャ座標0 0013: 0014: vs.1.0 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: ; ライトを基底ベクトルを使って、接ベクトル空間に変換する 0023: dp3 r3.x, v4, c13 ; r3 = LIGHT_LOCAL 0024: dp3 r3.y, v5, c13 0025: dp3 r3.z, v3, c13 0026: 0027: ; 規格化 0028: dp3 r3.w, r3, r3 0029: rsq r3.w, r3.w 0030: mul r3, r3, r3.w 0031: 0032: ; 0-1 にスケール 0033: add r3, r3, c12.z 0034: mul oD0, r3, c12.y 0035: 0036: ; Set alpha to 1 0037: mov oD0.w, c12.z 0038: 0039: ; テクスチャー 0040: mov oT0, v7 0041: mov oT1, v7 0042: 0043: 0044: