void ClientGame::UpdateCamera(Miliseconds aFrameTime) const { Ogre::Vector3 pos(Ogre::Vector3::ZERO); Ogre::Quaternion ort(Ogre::Quaternion::ZERO); if (ClientUnit* avatar = GetUnit(mAvatar)) { GetCameraPosAndOrt(avatar->GetPosition(), pos, ort); } if (mFreeCamera) { mAxes->setOrientation(ort); mAxes->setPosition(pos); FreeCameraControl(aFrameTime); } else { ClientApp::GetCamera().setPosition(pos); ClientApp::GetCamera().setOrientation(ort); } }
fl3 norm_ort(fl3 v1, fl3 v2) { return normalize(ort(v1, v2)); }