void Object::UpdateObjectMatrix() { Matrix4f mTranslate(MATRIX_TRANSLATE, m_vWorldPos); Matrix4f mRotate(MATRIX_ROTATE, m_qRotation); Matrix4f mScale(MATRIX_SCALE, m_vScale); m_mModelMatrix = mTranslate * mRotate * mScale; //m_mModelMatrix.Print("Model"); } // end Object::UpdateObjectMatrix()
void mMultiply(int * outputMatrix, int * inputMatrix1, int * inputMatrix2){ int i; int j; int bufferMatrix[9]; int rotateMatrix[9]; mRotate(rotateMatrix, inputMatrix1); for(j = 0; j < 3; j ++){ for(i = 0; i < 3; i ++){ bufferMatrix[i + (j * 3)] = dot(&rotateMatrix[i * 3], &inputMatrix2[j * 3]); } } for(i = 0; i < 9; i ++){ outputMatrix[i] = bufferMatrix[i] * OMEGA; } }