21.2.4 CG语言的数据类型

基本类型

  1. int 指32位整数
  2. float 指32位浮点数
  3. half 指16位浮点数,float的一半
  4. fixed 指12位定点数,避免了浮点运算从而提升效率
  5. bool 指布尔类型(但是应避免if等判断语句的使用,尽量使用数值运算代替)
  6. sampler 指纹理对象类型(如sampler2D对应Unity中一张纹理图片)
  7. string (不被支持,但是有)

向量和矩阵类型

  1. 向量
    基本类型+维度(小于等于4)
    举例:float1,float2,float3,float4
float a = 1.0;
float1 a1 = float1(1.0);//勉强
float2 a2 = float2(1.0, 2.0);
float3 a3 = float3(1.0, 2.0, 3.0);
float4 a4 = float4(1.0, 2.0, 3.0, 4.0);
  1. 矩阵
    基本类型+维度1+x+维度2(维度也小于等于4,则4x4矩阵为最大矩阵)
    举例:fixed1x1,fixed1x2… fixed4x3, fixed4x4
float2x2 mat1 = {{1, 2}, {3, 4}};
fixed2x2 mat2 = {{1, 2}, {3, 4}};
float2x3 mat3 = {1, 2, 3, 4, 5, 6};
fixed2x3 mat4 = {1, 2, 3, 4, 5, 6};//unrecognized identifier 'fixed2x3' 迷惑

其它

  1. 数组
    声明方式和C语言相同
int a[2] = {1, 2};
float b[10];
  1. 结构体
    struct 结构体名{

    };
struct v2f{
    float4 pos : SV_POSITION;
    half2 uv : TEXCOORD0;
};
v2f o;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值