directx9学習(モデルの移動・回転・拡大縮小)
- 変更前
- 行列作成関数
D3DXMatrixIdentity(D3DXMATRIX *pOut);
単位行列を作成します。
D3DXMatrixTranslation(D3DXMATRIX *pOut, FLOAT x, FLOAT y, FLOAT z);
オフセットを指定して行列を作成します。
D3DXMatrixRotationX(D3DXMATRIX* pOut, FLOAT Angle);
X 軸まわりに Angle ラジアン回転する行列を作成します。
D3DXMatrixRotationY(D3DXMATRIX* pOut, FLOAT Angle);
Y 軸まわりに Angle ラジアン回転する行列を作成します。
D3DXMatrixRotationZ(D3DXMATRIX* pOut, FLOAT Angle);
Z 軸まわりに Angle ラジアン回転する行列を作成します。
D3DXMatrixRotationYawPitchRoll(D3DXMATRIX* pOut, FLOAT Yaw, FLOAT Pitch, FLOAT Roll);
Y 軸、X 軸、Z 軸まわりの回転角を指定して、回転行列を作成します。
D3DXMatrixScaling(D3DXMATRIX *pOut, FLOAT sx, FLOAT sy, FLOAT sz);
x 軸、y 軸、z 軸に沿ってスケーリングする行列を作成します。
- 縮小(SetupMatrices関数内)
// Set up world matrix
D3DXMATRIXA16 matWorld;
D3DXMatrixIdentity(&matWorld);
D3DXMatrixScaling(&matWorld, 0.5f, 1.0f, 1.0f);
g_pd3dDevice->SetTransform( D3DTS_WORLD, &matWorld );
- 変更後