次の方法で共有


マトリックスの種類

マトリックスは、2 次元グリッド内の 1 から 16 スカラー コンポーネントを含むデータ型です。 マトリックスのすべてのコンポーネントは、同じ型である必要があります。

型宣言

行列の内容の スカラー型 名前と、それに含まれる行と列の数を使用して、行列変数を宣言できます。

TypeRowsCols Name

Type は各コンポーネントの スカラー型 であり、Rows は行数を示す 1 から 4 までの定数整数式であり、Cols は列数を示す 1 から 4 までの定数整数式で、Name は変数名を一意に識別する ASCII 文字列です。

例:

int1x1    iMatrix;   // integer matrix with 1 row,  1 column, 1 single component
int4x1    iMatrix;   // integer matrix with 4 rows, 1 column, 4 total components
int1x4    iMatrix;   // integer matrix with 1 row, 4 columns, 4 total components
double3x3 dMatrix;   // double matrix with 3 rows, 3 columns, 9 total components

float3x2 fMatrix = { 0.0f, 0.1f, // row 1
                     2.1f, 2.2f, // row 2
                     4.1f, 4.2f  // row 3
                   };   

テンプレート スタイルの宣言

代替宣言構文では、matrix キーワードとテンプレート引数を使用して、スカラー型、行数、列数を示します。

matrix <Type=float, Rows=4, Cols=4> Name

Type は各コンポーネントの スカラー型 であり、Rows は行数を示す 1 から 4 までの整数であり、Cols は列数を示す 1 から 4 までの整数ですが、テンプレート スタイルの山かっこ内で指定されます。 Name は、変数名を一意に識別する ASCII 文字列です。

テンプレート パラメーターの既定値では、最後のパラメーターを省略して特定の型と行数の 4 列の matrtices を指定できます。最後の 2 つのテンプレート パラメーターをオフにすることで特定の型の 4x4 マトリックス、または 3 つすべてを省略して 4x4 浮動小数点行列を指定できます。

例:

matrix <int, 1, 1>   iMatrix = { 1 }; 
matrix <float, 2, 3> fMatrix = { 0.0f, 0.1f, 0.2f, // row 1
                                 2.1f, 2.2f, 2.3f  // row 2
                               };
matrix<int16_t, 1>   sMatrix = { 1, 2, 3, 4 }; // Defaults to 1x4 int16 matrix
matrix<float16_t>    hMatrix = { 0.0f, 0.1f, 0.2f, 0.3f, // Defaults to 4x4 float16 matrix
                                 1.0f, 1.1f, 1.2f, 1.3f,
                                 2.0f, 2.1f, 2.2f, 2.3f,
                                 3.0f, 3.1f, 3.2f, 3.3f }; 
matrix               fMatrix = { 0.0f, 0.1f, 0.2f, 0.3f, // Defaults to 4x4 float matrix
                                 1.0f, 1.1f, 1.2f, 1.3f,
                                 2.0f, 2.1f, 2.2f, 2.3f,
                                 3.0f, 3.1f, 3.2f, 3.3f }; 

関連項目

データ型 (DirectX HLSL)