2012-05-06 40 views

回答

2

你可以找到食人魔初始化的一个例子,而不设置对话框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 
    } 
3

对于较新的渲染系统,您可以设置配置选项(如设置配置对话框)食人魔::根实例上述解决方案的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"); 
+0

对不起,我不知道,这是工作。只是表示感谢你。谢谢)) – UnknownJoe