学习必备 欢迎下载
HLSL 学习笔记(一):基础
前言
五一在家无事,于是学习了一下 HLSL,基于 XAN4.0的。学习完了也就总结一下,纯粹是新手学习
的经验之谈,纰漏之处还望见谅,不喜勿喷。
HLSL 是一种使用 GPU 渲染出图像的技术,不仅可以改变最终呈现的颜色,还可以物体的大小、胖
瘦和位置等。例如物体的碎裂效果就可以使用 HLSL 来渲染得到。
数据类型
数据类型有值类型、向量、矩阵、采样器、和结构体。
1.值类型
bool 布尔变量
half 16为整形
int 32位整形
float 单精度浮点数
double 双精度浮点数
声明方式:float f;
赋值方式:f = 1;
2.向量
声明方式:float4 f;
赋值方式:f = {1,2,3,4};
取值方式:float3 ff = f.rgb;
说明:向可以通过 xyzw 或者 rgba 访问向量中的指定字段,x 或者 r 就是代表0号字段。不仅可
以单独操作一个字段,还可以对多个字段同时操作,例如3*f.xyz,就是将 f 中的 xyz 都乘以个3。
3.矩阵
声明方式:float2x4 f; 先行后列。
赋值方式:f = {1,1,2,2,3,3,4,4};
取值方式:float ff = f[0][0];
说明:如果要对矩阵做乘法运算,请使用 mul 函数,另外,mul(ff,f)与 mul(f,ff)的结果是不一
样的。
4.采样器