0001: ; c0-3 -- world + ビュー + 透視変換行列 0002: ; c4-7 -- world 0003: ; c12 -- (0.0, 0.5, 1.0, 2.0) 0004: ; c13 -- ライトのベクトル (w成分は環境光の強さ) 0005: ; c14 -- ライトの色(メッシュの色) 0006: ; c15 -- 視点 0007: ; c16 -- (-1/(far-near), far/(far-near), 0,0) 0008: ; 0009: ; v0 頂点の座標値 0010: ; v3 法線ベクトル (w成分は1.0f) 0011: ; v7 テクスチャ座標 0012: 0013: vs.1.0 0014: 0015: ;座標変換 0016: dp4 oPos.x, v0, c0 0017: dp4 oPos.y, v0, c1 0018: dp4 oPos.z, v0, c2 0019: dp4 oPos.w, v0, c3 0020: 0021: ; ランバート diffuse 0022: dp4 r0.w, v3, c13 ; l・n 0023: mul oD0, c14, r0.w ; ライトの色(メッシュの色付き)をつける 0024: 0025: mov oT0, v7 0026: 0027: ; フォグの計算 0028: dp4 r0.x, v0, c4 0029: dp4 r0.y, v0, c5 0030: dp4 r0.z, v0, c6 0031: 0032: dp3 r1.x, r0, r0 0033: rsq r1.y, r1.x 0034: mul r1.z, r1.x, r1.y ; r1 = (|x|^2, 1/|x|, |x|) 0035: 0036: mad oFog.x, r1.z, c16.x, c16.y ; fog = (far-z)/(far-near) 0037: