length
函数是GLSL语言中的向量函数之一,用于计算一个向量的长度(模)。
float length(vec2 x);
float length(vec3 x);
float length(vec4 x);
x
为一个vec2
、vec3
或vec4
类型的向量参数,返回值为一个float
类型的数值,表示该向量的长度(模)。
该函数的返回值为向量x
的长度,计算公式为:
length(x) = sqrt(dot(x, x));
其中dot
函数表示内积运算,即两个向量的对应元素相乘后相加的和。sqrt
函数表示开方运算。
该函数具有与向量长度相关的一些数学性质,例如:
length(x)
永远是非负数。x
等于零向量时,length(x)
为零。s
,length(s*x) = abs(s) * length(x)
。vec3 position = vec3(1.0, 2.0, 3.0);
float len = length(position); // len的值为sqrt(1.0*1.0 + 2.0*2.0 + 3.0*3.0)