Metal 著色語言程式設計指南 四

2021-07-11 05:45:10 字數 797 閱讀 5763

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...