US2S3L3——特殊数据类型
US2S3L3——特殊数据类型
本章代码关键字
1 | 数值类型维数 向量名 = 数值类型维数(num, ...) //向量声明,最大维度不超过4维,可以使用bool声明bool向量 |
特殊数据类型
注意:CG中向量,矩阵和数组是完全不同的,向量和矩阵是内置的数据类型,而数组则是一种数据结构,不是内置数据类型
- CG可以声明任意数值类型的矩阵和向量
- 向量最大维度不超过4维
- 矩阵最大行列不大于4,不小于1,在赋值时一定注意行列的关系
-
bool
向量可以用来存储向量之间比较的结果
向量
向量类型属于CG语言的内置数据类型
内置的向量类型是基于基础数据类型声明的
向量的最大维度不超过4维,数据类型可以是任意数值类型(也就是基础数据类型的数值类型)
基本构成:
-
数据类型2 = 数据类型2(n1,n2)
-
数据类型3 = 数据类型3(n1,n2,n3)
-
数据类型4 = 数据类型4(n1,n2,n3,n4)
1 | //二维向量 |
关于如何提取向量中的分量,详见:US2S3L4——Swizzle操作符
矩阵
矩阵类型属于CG语言的内置数据类型
矩阵的最大行列不大于4,不小于1,数据类型可以是任意数值类型
基本构成:
-
数据类型'n'x'm' = {n1m1,n1m2,n1m3.....}
-
数据类型2x2
-
数据类型3x3
-
数据类型4x4
1 | //矩阵声明示例(以2x3,3x3,4x4为例) |
关于矩阵的元素的获取,其他声明方式,详见:向量和矩阵的更多用法
bool类型特殊使用
bool
类型同样可以用于如同向量一样声明,它可以用于存储一些逻辑判断结果
比如:
1 | float3 a = float3(0.5, 0.0, 1.0); |
运算后向量 c
的结果为:bool3(true, false, false)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 文KRIFE齐的博客!