首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在没有安装对话框的情况下启动Ogre BaseApplication

在没有安装对话框的情况下启动Ogre BaseApplication
EN

Stack Overflow用户
提问于 2012-05-07 01:22:15
回答 2查看 1.5K关注 0票数 1

我正在编写自己的食人魔应用程序,基于基本的食人魔教程。

有没有人知道不用首先设置对话框就能启动OgreRenderWindow的方法?

我知道Ogre Basic tutorial 6,但它不工作。

感谢4个帮助

EN

回答 2

Stack Overflow用户

发布于 2013-09-30 06:04:16

对于更新版本的Ogre,上述解决方案将不起作用。

你可以像下面这样做……

代码语言:javascript
复制
  #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");
票数 3
EN

Stack Overflow用户

发布于 2012-09-14 21:49:33

你可以在没有设置对话框here的情况下找到一个Ogre初始化的例子。

对于Ogre::Root实例,您只需使用setRenderSystem设置呈现系统,然后可以使用setConfigOption()设置配置选项(就像在设置配置对话框中一样

代码语言:javascript
复制
    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
     } 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10472592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档