(1)截屏
OGRE 1.7利用Render To Texture技术自动了截屏功能,图片保存的默认路径是工作目录,即生成的.exe所在的目录。
(2)帧率显示框有重叠的阴影
找到OGRE/SdkTray.h文件,在frameRenderQueued函数中将
oss << "FPS: " << std::fixed << std::setprecision(1) << stats.lastFPS;
改为
oss << " " << std::fixed << std::setprecision(1) << stats.lastFPS;(3)鼠标移出窗口
请看我的博客《OGRE 1.7 鼠标非独占使用》。
(4)鼠标旋转视角
其实就是旋转摄像机,如果是Ogre 1.7版本可在createScene函数的最后添加
mCameraMan->setStyle(OgreBites::CS_ORBIT);如果是Ogre 1.6版本,需在frameStarted中添加
float rotX = mMouse->getMouseState().X.rel * evt.timeSinceLastFrame* -1; float rotY = mMouse->getMouseState().Y.rel * evt.timeSinceLastFrame * -1; mCamera->yaw(Ogre::Radian(rotX)); mCamera->pitch(Ogre::Radian(rotY));
(5)第一次显示配置窗口,以后直接读取配置文件
bool BaseApplication::configure(void) { if(mRoot->restoreConfig()) { mWindow = mRoot->initialise(true, "Flight Simulator"); return true; } else if(mRoot->showConfigDialog()) { mWindow = mRoot->initialise(true, "Flight Simulator"); return true; } else { return false; } }