swizzle
- swizzle可以获取向量分量值;
- 表现形式是点符号和rgba或xyzw
rgba一般用作颜色表示
xyzw一般用于坐标表示 - 分量值可以进行组合
例如:fixed4 test=(1,2,3,4)
获取分量值:test.r 获取第一个分量值、test.g、test.xy、test.yx
向量维度转换
- 高纬度到低纬度
fixed4 t1=(1,2,3,4);
fixed2 t2=t1;//舍弃第三和第四个分量
t2=t1.xw;//使用第一个和第四个分量 - 低纬度到高纬度
fixed3 t3=(1,1,1)
t1=(t2,t2) //组合为四维
t1=(t3,5)
向量用于矩阵的声明
fixed4 a=(1,2,3,4)
fixed4x4 b={a,a,a,a};
获取矩阵元素
b[0][0] 获取第一行第一列的元素
获取矩阵的一行
fixed4 c=b[0] //获取第一行的元素 使用向量存储
矩阵维度转换
- 高维到低纬 舍弃多余的维度
fixed3x3 d=a;//a矩阵舍弃 第四行和第四列 - 低纬度到高纬度
fixed3 a=(1,1,1);
fixed3x3 b={a,a,a}
fixed4x4 c={ fixed4(b[0],1),
fixed4(b[1],1),
fixed4(b[2],1),
fixed4(a,1)}