图形 2.3 HLSL常用函数介绍

一、基本数学运算

max(a,b) 返回较大的

min(a,b) 返回较小的

mul(a,b) 两向量相乘,常用于矩阵运算

abs(a) 返回a的绝对值

round(x) 返回与x最近的整数

sqrt(x) 返回x的平方根

rsqrt(x) 返回x的平方根的倒数

degrees(x) 将弧度转化为角度

redians(x) 将角度转化为弧度

noise(x) 噪声函数

数学公式输入可视化:Graphtoy

  • 将uv的坐标作为x传入,随机的返回一个[0,1]的值,就会得到一张噪声图

二、幂指对函数

三、三角函数和双曲线函数

sin(x)、cos(x)、tan(x) 三角函数(弧度制:1°=π/180 rad)

asin(x)、acos(x)、atan(x) 反三角函数

sincos(x,out s,out c) 返回x的正弦和余弦

tan(y,x) 返回y/x的正切

atan2(y,x) 返回y/x的反正切

双曲正余弦

四、数据范围类

ceil(x) 返回>=x的最小整数(向下取整)

floor(x) 返回<=x的最大整数(向上取整)

step(x,y) x<=y返回1(真),否则返回0

saturate(x) 返回将x钳制到[0,1]范围之间的值

clamp(x,min,max) 将x限制在[min,max]范围的值,比min小返回min,比max大返回max

fmord(x,y) 返回x对y取余的余数

frac(x) 取x的小数部分

modf(x,out ip) 将x分为小数和整数部分(输出的ip为整数部分,返回值为小数部分)

lerp(x,y,s)按照s在x到y之间插值,返回x * 1(1 - s) + y * s

smoothstep(min,max,x) 如果x在[min,max]范围内,就返回介于[0,1]之间的平滑Hermite插值,使用smoothstep在两个值直接创建平滑过渡

  • eg,平滑地混合两种颜色

五、类型判断类

all(x) 确定指定量的所有分量是否均为非零,均非零则返回true,否则返回false(处理由浮点型、整型、布尔型数据定义的标量、向量或者矩阵)

clip(x) 如果输入值小于零,则丢弃当前像素 常用于判定范围(不仅仅针对0,返回值为void)

  • 常用于测试alpha,如果每个分量代表到平面的距离,还可以用来模拟剪

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值