HLSL常用函数介绍

什么是HLSL?

高阶着色器语言(High Level Shader Language,简称HLSL),就是用来编写shader的一种语言
类似的语言还有:

  1. CG
    它是由NVIDIA公司所开发的,基于C语言同时被OpenGL和Direct3D所支持的开发语言,其语法和HLSL类似。在《GPU编程与CG语言之阳春白雪》中虽然曾认为CG会越来越受欢迎,但遗憾的是,NVIDIA还是抛弃了CG,目前CG的最终版本是3.1。虽然在一些简单的shader编写上还是可以使用,但是在新的硬件环境下还是可能不支持,且对一些新功能的支持较差。

  2. GLSL
    GLSL是基于OpenGL的接口,其语法体系自成一家。但是它不支持DirectX,就不得不放弃仅支持DirectX的Xbox等平台。

  3. HLSL
    HLSL是由微软开发的,在Windows平台上一家独大,多用于游戏领域。语法类似CG语言,在Unity中CG和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) 噪声函数,在每个像素点上输出0/1可形成噪波图

可以直接可视化数学函数工具推荐:https://graphtoy.com/

幂指对函数

函数名 用法
pow(x,y) x的y次幂(x、y都可以是自变量或具体数)→ x y x^{y} xy
exp(x) 返回以e为底的指数函数 → e x e^{x} ex
exp2(value x) 返回以2为底,x为指数的幂 → 2 x 2^{x}
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值