2017-06-12 70 views
1

我對使用Direct3D和HLSL有點新,我在想以下幾點:在一個着色器函數中如何訪問矩陣的成員。在我看來,它應該是點運算符,以及之後的一些東西,就像向量一樣。但是,如果我要使用它,我不確定我會在點之後放下什麼。是否會像.m12那樣訪問第二行和第三列的成員?在HLSL中訪問矩陣的成員

回答

1

假設你矩陣是

float4x4 myTransform; 

可以訪問部件1基於(例如M11到M44)像:

float member = myTransform._11; 
float member = myTransform._44; 

或零基於爲:

float member = myTransform._m00; 
float member = myTransform._m33; 
1

添加給貓王的答案。您還可以使用數組下標語法(基於零),就像您期望在C++中獲得矩陣成員一樣。

float4x4 myMatrix; 
float x = myMatrix[0][1];