Metal 着色语言编程指南 四

矢量和矩阵类型

Metal Shading 语言的矢量数学库提供了对矢量和矩阵类型表示和运算的支持。   

矢量的命名规则如下所示:

booln,   

charn,  shortn,  intn,  uncharn, ushortn, uintn

halfn, floatn

这里 n 可以是 2, 3, 4 的其中一个数字,  表示 2-, 3-, 4- 维矢量。  

矩阵的命名规则如下:

halfnxm, floatnxm

这里的n和m也是2,3, 4的其中一个数字, 表示矩阵的列数和行数, 矩阵也可以被视为多个矢量的组合, 比如floatnx3 可以被看作是n个float3的矢量, half4xn可以被看作是4个halfn的矢量。 


访问矢量的成员 (Accessing Vector Components)

矢量成员的访问就如同访问数组成员这么简单,  可以用数字下标来表示访问哪个成员。 比如 Index 0 表示矢量中的第一个成员,  index 1 表示矢量中的第二个成员, 依次类推。 下面的代码就是一些例子。 

pos = float4(1.0f, 2.0f, 3.0f, 4.0f);

float x = pos[0];    // x = 1.0
float z = pos[2];    // z = 3.0

float4 vA = float4(1.0f, 2.0f, 3.0f, 4.0f);
float4 vB;

for (int i=0; i<4; i++)
    vB[i] = vA[i] * 2.0f // vB = (2.0, 4.0, 6.0, 8.0);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值