GLSL ES着色器 内置函数

本文介绍了与角度相关的函数,包括正弦、余弦、正切及其反函数,以及弧度和角度的转换。接着,概述了数学中的指数、对数和幂函数,如pow、exp、log及开方函数。此外,还提到了一些常用函数,如绝对值、取整和线性插值。最后,讨论了几何函数,涉及向量的长度、距离、点积、叉积以及反射和折射等概念。
摘要由CSDN通过智能技术生成

 1. 和角度相关的函数

下面是和角度相关的函数

函数

参数

描述

sin(x)

弧度

正弦函数

cos(x)

弧度

余弦函数

tan(x)

弧度

正切函数

asin(x)

弧度

反正弦函数

acos(x)

弧度

反余弦函数

atan(x)

弧度

反正切函数

radians(x)

角度

角度转换为弧度

degrees(x)

弧度

弧度转换为角度

 2. 数学函数

这类主要是对指数对数幂函数的操作

函数

描述

pow(x,y)

x的y次方。如果x小于0,结果是未定义的。同样,如果x=0并且y<=0,结果也是未定义的。

exp(x)

e的x次方

log(x)

计算满足x等于e的y次方的y的值。如果x的值小于0,结果是未定义的。

exp2(x)

计算2的x次方

log2(x)

计算满足x等于2的y次方的y的值。如果x的值小于0,结果是未定义的。

sqrt(x)

计算x的开方。如果x小于0,结果是未定义的。

inversesqrt(x)

计算x的开方之一的值,如果x小于等于0,结果是未定义的。

 3. 常用函数

这里是常用函数,和js中的内置函数很像

函数

描述

abs(x)

返回x的绝对值

sign(x)

如果x>0,返回1.0;如果x=0,返回0,如果x<0,返回-1.0

floor(x)

返回小于等于x的最大整数值

ceil(x)

返回大于等于x的最小整数值

fract(x)

返回x-floor(x),即返回x的小数部分

mod(x, y)

返回x和y的模

min(x, y)

返回x和y的值较小的那个值。

max(x, y)

返回x和y的值较大的那个值。

clamp(x, minVal, maxVal)

将x值钳于minVal和maxVal之间,意思就是当x<minVal时返回minVal,当x>maxVal时返回maxVal,当x在minVal和maxVal之间时,返回x

mix(x, y, a)

返回线性混合的x和y,如:x*(1−a)+y*a

step(edge, x)

如果x < edge,返回0.0,否则返回1.0

smoothstep(edge0, edge1, x)

如果x <= edge0,返回0.0 ;如果x >= edge1 返回1.0;如果edge0 < x < edge1,则执行0~1之间的平滑埃尔米特差值。如果edge0 >= edge1,结果是未定义的。

4. 几何函数

这是与长度、距离、向量等相关的函数

length(x)

返回向量x的长度

distance(p0,p1)

计算向量p0,p1之间的距离

dot

向量x,y之间的点积

cross(x, y)

向量x,y之间的叉积

normalize(x)

标准化向量,返回一个方向和x相同但长度为1的向量

faceforward(N, I, Nref)

如果Nref和I的点积小于0,返回N;否则,返回-N;

reflect(I, N)

返回反射向量

refract(I, N, eta)

返回折射向量

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山楂树の

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值