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 optcode 最让我感到困惑。我无法理解我们为什么要这样做。我发现每个向量的长度都从 0,0,0 到它的坐标。归一化向量的长度为 1。这对计算有何帮助?先感谢您!

4

1 回答 1

1

归一化向量对于计算两个向量之间的点积很有用。例如,如果模型面部的“法线”(指向面部 90 度的向量)没有进行归一化,如果将其与另一个向量进行点积,您将得到非常奇怪的结果。

于 2014-02-13T16:57:19.663 回答