dot(a, b)
函数返回两个向量 a
和 b
的点积(也称为内积)。两个向量的点积等于它们的长度乘积再乘以它们的夹角的余弦值。
float dot(vec2 x, vec2 y);
float dot(vec3 x, vec3 y);
float dot(vec4 x, vec4 y);
x: vec2, vec3 或 vec4 类型的向量。
y: vec2, vec3 或 vec4 类型的向量。
返回值: 两个向量的点积。
vec3 a = vec3(1.0, 2.0, 3.0);
vec3 b = vec3(4.0, 5.0, 6.0);
float result = dot(a, b);
// result = 1.0 * 4.0 + 2.0 * 5.0 + 3.0 * 6.0 = 32.0
输入向量必须具有相同数量的分量,否则将返回编译错误。
函数返回的值是标量类型,因此可以直接在 shader 代码中使用。