0

皆さん、今晩は!

理解しようとしているコードのサンプルがあります。

// fragment
tex ft0, v0, fs0 <2d,repeat,linear,miplinear>
nrm ft1.xyz, v1
nrm ft2.xyz, v2
nrm ft3.xyz, v3
dp3 ft5.x, ft1.xyz, ft2.xyz
max ft5.x, ft5.x, fc0.x
add ft5, fc1, ft5.x
mul ft0, ft0, ft5
mov oc, ft0

私はほとんどの操作を想像することはできませんが (プログラムの意味を理解するためにすべての計算を紙の上で行うようにしています - 可能だと思います)、NRM オプトコードは何よりも私を混乱させます。なぜそうするのか理解できません。私が見つけたように、すべてのベクトルの長さは 0,0,0 からその座標までです。正規化されたベクトルの長さは 1 です。これは計算にどのように役立ちますか? 前もって感謝します!

4

1 に答える 1

1

正規化されたベクトルは、2 つのベクトル間の内積を計算するのに役立ちます。たとえば、モデルの顔の「法線」(顔に対して 90 度を指すベクトル) が正規化されていない場合、それを別のベクトルでドット積すると、非常に奇妙な結果が得られます。

于 2014-02-13T16:57:19.663 に答える