各位晚上好!
我有一个我试图理解的代码示例:
// 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。这对计算有何帮助?先感谢您!