行列型 (DirectX HLSL)

行列は、1 ~ 16 個の成分を含む特殊なデータ型です。行列の各成分は、同じデータ型である必要があります。

TypeComponents Name

成分

  • TypeComponents
    3 つの部分で構成される単一の名前。1 つめの部分では、スカラー型のいずれかを指定します。2 つ目の部分では、行数を指定します。3 つ目の部分では、列数を指定します。行数と列数は、1 ~ 4 の範囲の正の整数とします。
  • Name
    変数名を一意に識別する ASCII 文字列。

いくつかの例を次に示します。

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

float2x2 fMatrix = { 0.0f, 0.1, // row 1
                     2.1f, 2.2f // row 2
                   };   

行列は、次の構文を使用しても宣言することができます。

matrix <Type, Number> VariableName

matrix 型では、山型かっこを使って、型、行数、および列数を指定します。この例は、2 行 x 2 列の浮動小数点行列を作成します。任意のスカラー データ型を使用できます。

次に、1 つの例を示します。

matrix <float, 2, 2> fMatrix = { 0.0f, 0.1, // row 1
                                 2.1f, 2.2f // row 2
                               };

関連項目

データ型 (DirectX HLSL)