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的向量。
向量成員的訪問就如同訪問陣列成員這麼簡單, 可以用數字下標來表示訪問哪個成員。 比如 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);
Metal 著色語言程式設計指南 一
metal shading language guide 這篇文章講述了metal 圖形繪製和計算 shading 程式語言.metal shading 語言是基於c 的程式語言,使用metal shading 語言的 可以在gpu上進行圖形繪製或者通用平行計算。由於metal shading 語言...
Metal 著色語言程式設計指南 七
floatnxm 和 halfnxm 矩陣可以被看成是型別為floatm和halfm的陣列.類似二維陣列,矩陣的成員可以用二維下標來定址.矩陣物件後面跟乙個下標可以被看作是乙個列向量.如同陣列,列向量的計數也是從0開始,矩陣物件的第二個下標就如同是對向量物件進行定址。所以,矩陣物件後面跟兩個下標就表...
Metal 著色語言程式設計指南 八
構造矩陣物件 同向量物件的構造相似,矩陣物件也可以從標量或者向量集合來構造,當矩陣初始化時,其構造器引數決定了它是如何被建立的。例如,如果構造器引數僅僅是乙個標量,那麼這個矩陣的對角線上的成員被初始化為這個標量,其他成員被初始化為0.0。下面的這個呼叫 float4x4 fval 構造的矩陣為 fv...