行列関数

3Dモデルで使用する行列の管理と計算を行います。

内部では行列計算用バッファがMAX_MATRIX分確保されており、これに対して任意に値を設定したり、掛け算を行い新しい行列バッファにその結果を代入するといった使い方が出来ます。

行列IDは0~MAX_MATRIX-1まで指定することが出来ます。
全ての行列は次のシーンに行く際に単位行列に初期化されます。

※内部的にはD3DXMATRIXが使用されています
関数詳細
hdxMatrixIdentity( mid ) 指定の行列を単位行列で初期化する。
 mid  : 行列ID
hdxMatrixRotationX( mid,angle ) X軸を回転軸にして指定の角度分を回転する行列を作成する。
 mid  : 行列ID
 angle : 回転角(ラジアン)
hdxMatrixRotationY( mid,angle ) Y軸を回転軸にして指定の角度分を回転する行列を作成する。
 mid  : 行列ID
 angle : 回転角(ラジアン)
hdxMatrixRotationZ( mid,angle ) Z軸を回転軸にして指定の角度分を回転する行列を作成する。
 mid  : 行列ID
 angle : 回転角(ラジアン)
hdxMatrixScaling( mid,sx,sy,sz ) X軸、Y軸、Z軸に沿ってスケーリングする行列を作成する。
 mid    : 行列ID
 sx,sy,sz  : XYZ軸のスケール値
hdxMatrixTranslation( mid,x,y,z ) X軸、Y軸、Z軸に平行移動する行列を作成する。
 mid   : 行列ID
 x,y,z  : XYZ軸の移動量
hdxMatrixMultiply( out_mid,in_mid1,in_mid2 ) 行列を掛け算した結果を指定の行列にセットする。
 out_mid : 掛け算した結果を入れる行列ID
 in_mid1 : 掛け算する左側の行列ID
 in_mid2 : 掛け算する右側の行列ID
 ※内容は「out = in1 * in2」と同等
 ※元の行列を出力先にすることも可能だが、
  その場合はhdxMatrixMultiply2を使うとよい
hdxMatrixMultiply2( mid1,mid2 ) 1つ目に2つ目の行列を直接掛け算した結果をセットする。
 mid1 : 掛け算する左側の行列ID
 mid2 : 掛け算する右側の行列ID
 ※内容は「mid1 *= mid2」と同等
hdxMatrixCopy( mid1,mid2 ) 2つ目に指定した行列を1つ目にコピーする。
 mid1 : コピー先の行列ID
 mid2 : コピー元の行列ID
 ※内容は「mid1 = mid2」と同等