Platform SDK: DirectX |
ここでの説明は、ユーザーが Direct3D で作業を行うために充分な行列についての基本的な知識を習得していることを前提としています。詳細については、「3D トランスフォーム」を参照すること。
Direct3D では、行列は 4エ4 同次行列で表され、C++ の場合は D3DMATRIX 構造体、Visual Basic の場合は D3DMATRIX 型で定義される。
D3DMATRIX 構造体の D3D_OVERLOADS (D3DMATRIX (D3D_OVERLOADS)) を実装して、かっこ ("()") 演算子が使用できる。この演算子を使用すれば、行列の値に簡単にアクセスできる。名前で構造体メンバを参照する必要はなく、行および列番号でメンバを参照でき、必要に応じてこの番号をインデックスとして使用できる。このインデックスは 0 から始まり、たとえば、3 行 2 列の要素は M(2, 1) になる。D3D_OVERLOADS 演算子を使用するには、D3dtypes.h ヘッダー ファイルをインクルードする前に D3D_OVERLOADS を定義する。
また、D3dutil.cpp ソース ファイルには、行列の作成および連結を行うヘルパー関数がある。ヘルパー関数はそのまま使用できる。また、ヘルパー関数を基に独自の行列処理関数を作成することもできる。
[C++,Visual Basic]