The*_*mer 37 opengl glsl normalization
我目前正在研究OpenGL中的照明,它使用GLSL中的一个函数,称为normalize.根据OpenGL文档,它说它"计算两个向量的标准化乘积".但是,它仍然无法解释"正常化"的含义.我已经尝试过在Google上查找标准化产品,但我似乎无法找到任何相关信息.任何人都可以解释正常化的含义并提供一些标准化值的例子吗?
ben*_*ado 48
我认为混淆来自于将"一个价值"归化为"一个载体"而不是"一个载体"的想法; 如果您只想将一个数字视为一个值,则规范化没有任何意义.标准化仅在应用于矢量时有用.
向量是一系列数字; 在3D图形中,它通常是表示为的坐标v = <x,y,z>.
每个向量都有一个幅度或长度,可以使用毕达哥拉定理找到:|v| = sqrt(x^2 + y^2 + z^2)这基本上是从原点<0,0,0>到向量表示的点的直线长度.
如果长度为1,则向量是正常的.就是这样!
归一化矢量意味着改变它以使其指向相同的方向(从原点开始考虑该线)但其长度为1.
我们使用法向量的主要原因是表示方向; 例如,如果您要建模距离无限远的光源,则无法为其提供精确坐标.但是您可以使用法线向量指示从特定点找到它的位置.
| 归档时间: |
|
| 查看次数: |
31426 次 |
| 最近记录: |