第二篇:glsl 常用函数

smoothstep(edge0, edge1, x):

平滑的线性插值函数

例如:

smoothstep(-1,3,x)  变化如下图

smoothstep(3,-1,x) 变化如下图

参考:Shader实验室: smoothstep函数 - 知乎

step(edge, x):

如果 x 小于 edge,则返回 0.0,否则返回 1.0

mix(x, y, a):

返回 x * (1.0 - a) + y * a。用于执行线性混合(LERP)操作,其中 a 用于指定混合的权重

lerp(x, y, a):

mix 函数相同,用于执行线性插值。

sign(x):

返回 x 的符号:1.0(正数),-1.0(负数),或 0.0(零)。

clamp(x, minVal, maxVal):

x < minVal时,等于minVal

x > maxVal时,等于maxVal

minVal =< x <= maxVal时,等于x 

normalize(x):

向量x归一化、长度等于1,方向与x向量方向相同

reflect(I, N):

返回向量 I 相对于法线 N 的反射方向。

distance(p0, p1):

返回两点之间的欧几里德距离。

length(v):

返回向量 v 的长度(模)。

fract(x):

返回x获取小数部分

floor(x), ceil(x):

floor:向下取整

ceil:向上取整

min(x, y), max(x, y):

min:返回x、y中最小值

max:返回x、y中最大值

mod(x, y):

返回 x 除以 y 的余数。

abs(x):

返回 x 的绝对值。

cross(x, y):

返回两个三维向量的叉积。

dot(x, y):

返回两个向量的点积。

sin(x), cos(x), tan(x):

分别返回 x 的正弦、余弦和正切值,其中角度单位为弧度。

sqrt(x):

返回 x 的平方根。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值