在GLSL(OpenGL Shading Language)中,distance
函数用于计算两个点(通常表示为向量)之间的欧几里得距离。
语法:
GLSL的 distance
函数有多个重载版本,以支持不同维度的向量(vec2
,vec3
,vec4
等)。
float distance(vec2 p0, vec2 p1);
float distance(vec3 p0, vec3 p1);
float distance(vec4 p0, vec4 p1);
参数:
p0
和p1
:要计算距离的两个点,可以是二维、三维或四维向量。
返回值:
函数返回一个浮点数,表示两点之间的欧几里得距离。
示例:
下面是一个GLSL代码片段,使用 distance
函数来计算两个 vec2
向量之间的距离。
void main() {
vec2 point1 = vec2(1.0, 1.0);
vec2 point2 = vec2(4.0, 5.0);
float dist = distance(point1, point2); // dist 现在是5.0
// ...
}
在这个示例中,point1
和 point2
是在二维空间中的两个点。distance
函数返回这两点之间的距离,该距离是一个浮点数,赋值给了变量 dist
。
这个函数非常实用,常见于各种图形渲染和图像处理任务中。例如,在实现光照、纹理采样、几何变换等方面,都可能需要计算两点之间的距离。