DX11(四):HLSL语法

本文详细介绍了HLSL的数据类型,包括标量、向量和矩阵,并重点解析了向量与矩阵相乘的mul函数,讨论了不同矩阵主序对性能的影响,同时对比了HLSL与C++的结构体相似性。
摘要由CSDN通过智能技术生成

05/30/2020
06/13/2020 HLSL 数学库

HLSL

HLSL是一个着色器语言,独立于WIndows平台,只能供微软Direct3D使用。HLSL不能与OpenGL抗衡,用来抗衡GLSL产品1

数据类型

标量

  • bool 32位(4字节)整数值用于存放逻辑值true和false
  • int 32位(4字节)有符号整数
  • uint 32位(4字节)无符号整数
  • half 16位(2字节)浮点数(仅提供用于向后兼容)
  • float 32位(4字节)浮点数
  • double 64位(6字节)浮点数

向量

向量类型可以支持2到4个同类元素

vector

vector<float,4> vec1;
vector<int,2> vec2;
vector vec3; //== float4 vec3 包含4个float元素

float4,int3…

float4 vec1;
int2 vec2;

初始化

float2 vec1 = {
   0.0f,1.0f}; //花括号
float3 vec2 = float3(0.0f,1.0f,0.0f); //小括号
float4 vec3 = float4(vec1,0.0f);

访问方式-读写

float4 vec;
float x = vec.x; // 坐标访问x,y,z,w
float r = vec.r; // 颜色访问r,g,b,a
float i = vec[2]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值