我正在编写自己的Ogre应用程序,它基于基本的食人魔教程。启动Ogre BaseApplication without Setup对话框
有没有人知道没有首先设置对话框启动OgreRenderWindow的方式?
我知道Ogre Basic tutorial 6,但它不起作用。
感谢4的帮助
我正在编写自己的Ogre应用程序,它基于基本的食人魔教程。启动Ogre BaseApplication without Setup对话框
有没有人知道没有首先设置对话框启动OgreRenderWindow的方式?
我知道Ogre Basic tutorial 6,但它不起作用。
感谢4的帮助
你可以找到食人魔初始化的一个例子,而不设置对话框here。
对于你只需要设置使用setRenderSystem
和旁边使用setConfigOption()
Root* root = new Root;
root->loadPlugin("/usr/local/lib/OGRE/RenderSystem_GL");
RenderSystemList *rs = root->getAvailableRenderers();
if(rs&&rs->size()&&rs->at(0)->getName().compare("RenderSystem_GL"))
{
RenderSystem * r=rs->at(0);
root->setRenderSystem(r);
r->setConfigOption("Full Screen","No");
r->setConfigOption("Video Mode","800 x 600 @ 16-bit colour");
}
else
{
// report error
}
对于较新的渲染系统,您可以设置配置选项(如设置配置对话框)食人魔::根实例上述解决方案的Ogre版本不会工作。
你可以不喜欢以下....
#if defined OIS_LINUX_PLATFORM
mRoot->loadPlugin("/usr/lib/OGRE/Plugin_ParticleFX");
mRoot->loadPlugin("/usr/lib/OGRE/Plugin_CgProgramManager");
mRoot->loadPlugin("/usr/lib/OGRE/Plugin_OctreeSceneManager");
mRoot->loadPlugin("/usr/lib/OGRE/Plugin_PCZSceneManager");
mRoot->loadPlugin("/usr/lib/OGRE/Plugin_OctreeZone");
mRoot->loadPlugin("/usr/lib/OGRE/Plugin_BSPSceneManager");
mRoot->loadPlugin("/usr/lib/OGRE/RenderSystem_GL");
#endif
Ogre::RenderSystemList::const_iterator renderers = mRoot->getAvailableRenderers().begin();
while(renderers != mRoot->getAvailableRenderers().end())
{
Ogre::String rName = (*renderers)->getName();
if (rName == "OpenGL Rendering Subsystem")
break;
renderers++;
}
Ogre::RenderSystem *renderSystem = *renderers;
renderSystem->setConfigOption("Full Screen","No");
renderSystem->setConfigOption("Video Mode","1024 x 768 @ 32-bit colour");
renderSystem->setConfigOption("Display Frequency","50 Hz");
renderSystem->setConfigOption("FSAA","16");
renderSystem->setConfigOption("Fixed Pipeline Enabled","Yes");
renderSystem->setConfigOption("RTT Preferred Mode","FBO");
renderSystem->setConfigOption("VSync","No");
renderSystem->setConfigOption("sRGB Gamma Conversion","No");
mRoot->setRenderSystem(renderSystem);
// Create a render window
mWindow = mRoot->initialise(true, "MyGame v0.0.1");
对不起,我不知道,这是工作。只是表示感谢你。谢谢)) – UnknownJoe