Swizzle 操作符
一、什么是 Swizzle 操作符
- Swizzle 操作符通常以
.的形式使用,后面跟着所需要的分量顺序 - 对于四维向量来说,我一般通过
向量.xyzw或者向量.rgba两种写法来分别表示向量中的四个元素- 这的意义就是向量一般用于表示坐标和颜色
二、如何使用 Swizzle 操作符
1. 利用它来提取分量
1 | int4 i4 = int4(1,2,3,4); |
2. 利用它来重新排列分量
1 | int4 i4 = int4(1,2,3,4); |
3. 利用它来创建新向量
1 | //高维向量取出一部分变成低维向量 |
三、向量和矩阵的更多用法
1.利用向量声明矩阵
1 | fixed4x4 f4x4 = {fixed(1,2,3,4), |
2.获取矩阵中的元素
等同于获取二维数组的方法
1 | int2x3 sampleRect = {1,2,3, |
3.利用向量获取矩阵中的某一行
1 | int2x3 sampleRect = {1,2,3, |
4. 高维转低维
矩阵和向量都可以低维转高位,会自动舍去多余元素
1 | int4 i4 = int4(1,2,3,4); |