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)