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: