0001: ; c0-3 -- world + ビュー + 透視変換行列 0002: ; c12 -- {0.0, 0.5, 1.0, 2.0} 0003: ; c13 -- ライトのベクトル (w成分は環境光の強さ) 0004: ; c14 -- 視点の位置 0005: ; c15 -- ライトの色(平行光源の色*メッシュの色) 0006: ; c18 -- ライトの色(上半球の色) 0007: ; c19 -- ライトの色(下半球の色) 0008: ; c20 -- 半球の軸 0009: ; 0010: ; v0 頂点の座標値 0011: ; v3 法線ベクトル (w成分は1.0f) 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: ; N・L (平行光源) 0023: dp4 r0.w, v3, c13 0024: mul oD0, r0.w, c15 0025: 0026: ; テクスチャー 0027: mov oT0, v7 0028: 0029: ; 視点から頂点の方向 E 0030: add r1, c14, -v0 0031: dp3 r1.w, r1, r1 0032: rsq r1.w, r1.w 0033: mul r1, r1, r1.w ; r1 = E = 正規化(視点 - 頂点) 0034: 0035: add r1, r1, c13 0036: mul r1, r1, c12.y ; r1 = H = (E+L)/2 0037: dp3 oT1.xy, v3, r1 ; V = N・H 0038: