本文整理汇总了C++中ogre::Root::getRenderSystemByName方法的典型用法代码示例。如果您正苦于以下问题:C++ Root::getRenderSystemByName方法的具体用法?C++ Root::getRenderSystemByName怎么用?C++ Root::getRenderSystemByName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ogre::Root
的用法示例。
在下文中一共展示了Root::getRenderSystemByName方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: startEngine
Ogre::Root* OgreEngine::startEngine()
{
m_resources_cfg = "resources.cfg";
activateOgreContext();
Ogre::Root *ogreRoot = new Ogre::Root;
Ogre::RenderSystem *renderSystem = ogreRoot->getRenderSystemByName("OpenGL Rendering Subsystem");
ogreRoot->setRenderSystem(renderSystem);
ogreRoot->initialise(false);
Ogre::NameValuePairList params;
params["externalGLControl"] = "true";
params["currentGLContext"] = "true";
//Finally create our window.
m_ogreWindow = ogreRoot->createRenderWindow("OgreWindow", 1, 1, false, ¶ms);
m_ogreWindow->setVisible(false);
m_ogreWindow->update(false);
doneOgreContext();
return ogreRoot;
}
示例2: init_render_sys
void init_render_sys()
{
m_root = new Ogre::Root();
m_root->setRenderSystem(m_root->getRenderSystemByName("OpenGL Rendering Subsystem"));
m_root->initialise(false);
m_frm = new wxFrame(0,-1,wxT(""));
NameValuePairList a;
a.insert(std::pair<String,String>("externalWindowHandle",StringConverter::toString( (size_t) m_frm->GetHandle() )));
RenderSystem *sys = m_root->getRenderSystem();
RenderWindow *m_ren = sys->_createRenderWindow(String("OgreRenderWindow_00"),1,1,false,&a);
MaterialManager::getSingleton().initialise();
m_frm->Show(false);
}
示例3: InitOgreRenderSystem
void GraphicsManager::InitOgreRenderSystem()
{
if( !this->OgreBeenInitialized ) {
Ogre::Root* OgreCore = Ogre::Root::getSingletonPtr();
const Ogre::RenderSystemList& RSList = OgreCore->getAvailableRenderers();
if( RSList.size() == 1 ) {
//Ogre::RenderSystem* temp = OgreCore->getRenderSystemByName( this->GetRenderSystemName( this->RenderSystemTypes[0] ) );
OgreCore->setRenderSystem( RSList[0] );
}else{
//Ogre::RenderSystem* temp = OgreCore->getRenderSystemByName( this->GetRenderSystemName( this->CurrRenderSys ) );
OgreCore->setRenderSystem( OgreCore->getRenderSystemByName( this->GetRenderSystemName( this->CurrRenderSys ) ) );
}
OgreCore->initialise(false,"");
this->OgreBeenInitialized = true;
this->PrimaryGameWindow = new GameWindow("Primary",1,1,GameWindow::WF_Hidden);
}
}
示例4: startup
//Funcion que inicializa la aplicacion
int startup(){
_root = new Ogre::Root("plugins_d.cfg");
//Muestra la ventana inicial...
//if(!_root->showConfigDialog()){
// return -1;
//}
// Evitan cargar la ventana inicial...
Ogre::RenderSystem* _rs = _root->getRenderSystemByName("Direct3D9 Rendering Subsystem");
// or use "OpenGL Rendering Subsystem"
_root->setRenderSystem(_rs);
_rs->setConfigOption("Full Screen", "No");
_rs->setConfigOption("Video Mode", "800 x 600 @ 32-bit colour");
_rs->setConfigOption("FSAA", "0");
_rs->setConfigOption("Floating-point mode", "Fastest");
_rs->setConfigOption("Use Multihead", "Auto");
_rs->setConfigOption("VSync", "No");
_rs->setConfigOption("VSync Interval", "1");
Ogre::RenderWindow* window = _root->initialise(true,"Ventana de Ogre3D");
_sceneManager = _root->createSceneManager(Ogre::ST_GENERIC);
loadResources();
createScene();
createCamera(window);
_listener = new AppFrameListener(window,camera,_sceneManager);
_root->addFrameListener(_listener);
//_root->startRendering();
return 0;
}
示例5: startup
int startup(){
_root = new Ogre::Root("plugins_d.cfg");
/*
if(!_root->showConfigDialog()){
return -1;
}
*/
Ogre::RenderSystem* _rs = _root->getRenderSystemByName("Direct3D9 Rendering Subsystem");
// or use "OpenGL Rendering Subsystem"
_root->setRenderSystem(_rs);
_rs->setConfigOption("Full Screen", "No");
_rs->setConfigOption("Video Mode", "800 x 600 @ 32-bit colour");
_rs->setConfigOption("FSAA", "0");
_rs->setConfigOption("Floating-point mode", "Fastest");
_rs->setConfigOption("Use Multihead", "Auto");
_rs->setConfigOption("VSync", "No");
_rs->setConfigOption("VSync Interval", "1");
Ogre::RenderWindow* window = _root->initialise(true, "Ventana Ogre");
_sceneManager = _root->createSceneManager(Ogre::ST_GENERIC);
Ogre::Camera* camera = _sceneManager->createCamera("Camera");
camera->setPosition(Ogre::Vector3(0.0f,300.0f,-1000.0f));
camera->lookAt(Ogre::Vector3(0,0,0));
camera->setNearClipDistance(5);
Ogre::Viewport* viewport = window->addViewport(camera);
viewport->setBackgroundColour(Ogre::ColourValue(0.0,0.0,0.0));
camera->setAspectRatio(Ogre::Real(viewport->getActualWidth()/viewport->getActualHeight()));
_listener = new FrameListenerProyectos(window,camera);
_root->addFrameListener(_listener);
loadResources();
createScene();
_root->startRendering();
return 0;
}
示例6: mainSetupAndRunOgre
int mainSetupAndRunOgre()
{
Ogre::LogManager* log_manager = 0;
Ogre::Root* root = 0;
#ifdef FREEORION_MACOSX
OISInput* ois_input_plugin = 0;
#elif defined(OGRE_STATIC_LIB)
OISInput* ois_input_plugin = 0;
Ogre::OctreePlugin* octree_plugin = 0;
Ogre::ParticleFXPlugin* particle_fx_plugin = 0;
Ogre::GLPlugin* gl_plugin = 0;
#endif
try {
using namespace Ogre;
log_manager = new LogManager();
log_manager->createLog((GetUserDir() / "ogre.log").string(), true, false);
root = new Root((GetRootDataDir() / "ogre_plugins.cfg").string());
// this line is needed on some Linux systems which otherwise will crash with
// errors about GLX_icon.png being missing.
Ogre::ResourceGroupManager::getSingleton().addResourceLocation((ClientUI::ArtDir() / ".").string(),
"FileSystem", "General");
#if defined(OGRE_STATIC_LIB)
octree_plugin = new Ogre::OctreePlugin;
particle_fx_plugin = new Ogre::ParticleFXPlugin;
gl_plugin = new Ogre::GLPlugin;
root->installPlugin(octree_plugin);
root->installPlugin(particle_fx_plugin);
root->installPlugin(gl_plugin);
#endif
RenderSystem* selected_render_system = root->getRenderSystemByName("OpenGL Rendering Subsystem");
if (selected_render_system == 0)
throw std::runtime_error("Failed to find an Ogre GL render system.");
root->setRenderSystem(selected_render_system);
int colour_depth = GetOptionsDB().Get<int>("color-depth");
bool fullscreen = GetOptionsDB().Get<bool>("fullscreen");
std::pair<int, int> width_height = HumanClientApp::GetWindowWidthHeight(selected_render_system);
int width(width_height.first), height(width_height.second);
selected_render_system->setConfigOption("Full Screen", fullscreen ? "Yes" : "No");
std::string video_mode_str =
boost::io::str(boost::format("%1% x %2% @ %3%-bit colour") %
width %
height %
colour_depth);
selected_render_system->setConfigOption("Video Mode", video_mode_str);
RenderWindow* window = root->initialise(true, "FreeOrion " + FreeOrionVersionString());
#ifdef FREEORION_WIN32
# ifdef IDI_ICON1
// set window icon to embedded application icon
HWND hwnd;
window->getCustomAttribute("WINDOW", &hwnd);
HINSTANCE hInst = (HINSTANCE)GetModuleHandle(NULL);
SetClassLong (hwnd, GCL_HICON,
(LONG)LoadIcon (hInst, MAKEINTRESOURCE (IDI_ICON1)));
# endif
#endif
SceneManager* scene_manager = root->createSceneManager("OctreeSceneManager", "SceneMgr");
Camera* camera = scene_manager->createCamera("Camera");
camera->setPosition(Vector3(0, 0, 500)); // Position it at 500 in Z direction
camera->lookAt(Vector3(0, 0, -300)); // Look back along -Z
camera->setNearClipDistance(5);
Viewport* viewport = window->addViewport(camera);
viewport->setBackgroundColour(ColourValue(0, 0, 0));
//EntityRenderer entity_renderer(scene_manager);
parse::init();
HumanClientApp app(root, window, scene_manager, camera, viewport, (GetRootDataDir() / "OISInput.cfg").string());
#ifdef FREEORION_MACOSX
ois_input_plugin = new OISInput;
root->installPlugin(ois_input_plugin);
#elif defined(OGRE_STATIC_LIB)
ois_input_plugin = new OISInput;
root->installPlugin(ois_input_plugin);
#else
root->loadPlugin(OGRE_INPUT_PLUGIN_NAME);
#endif
if (GetOptionsDB().Get<bool>("quickstart")) {
// immediately start the server, establish network connections, and
// go into a single player game, using default universe options (a
// standard quickstart, without requiring the user to click the
// quickstart button).
app.NewSinglePlayerGame(true); // acceptable to call before app()
//.........这里部分代码省略.........
示例7: Initial
// 初始化
VOID CEngineInterface::Initial(VOID* pParam)
{
#if (_MSC_VER >= 1400)
setlocale( LC_CTYPE, "" );
#endif
//---------------------------------------------------------
//取得渲染窗口句柄
KLAssert(pParam);
HWND hMainWnd = *((HWND*)pParam);
g_hMainWnd = hMainWnd;
g_pVaribleSys = (tVariableSystem*)g_theKernel.GetNode("bin\\var");
KLAssert(g_pVaribleSys);
g_pEventSys = (tEventSystem*)g_theKernel.GetNode("bin\\event");
KLAssert(g_pEventSys);
//---------------------------------------------------------
// 改变加载方式
// 屏掉下边这句了by czg 200911-30
// CFairyScriptResGet::EnableResDynamicLoad(false);
// 影响场景效果Z
Ogre::SystemSetting::forcePixelShader(false);
// 初始化KylinSystem
m_pFairySystem->init("Resources.cfg", "", "", "Engine.log"); // Resources
//---------------------------------------------------------
// 加载OGRE插件
g_pDebuger = (tDebuger*)g_theKernel.GetNode("bin\\debuger");
g_pSoundSystem = (tSoundSystem*)g_theKernel.GetNode("bin\\snd");
KLAssert(g_pSoundSystem);
g_pWorldSystem = (tWorldSystem*)g_theKernel.GetNode("bin\\worldman");
KLAssert(g_pWorldSystem);
g_pTimeSystem = (tTimeSystem*)g_theKernel.GetNode("bin\\time");
KLAssert(g_pTimeSystem);
g_pResourceProvider = (tResourceProvider*)g_theKernel.GetNode("bin\\resprovider");
KLAssert(g_pResourceProvider);
g_pDataBase = (tDataBaseSystem*)g_theKernel.GetNode("bin\\dbc");
KLAssert(g_pDataBase);
STRING str = g_pVaribleSys->GetAs_String("Gfx_API");
Ogre::Root* pTheRoot = &(Ogre::Root::getSingleton());
// 选择渲染系统
if(str == "Direct3D")
{
#ifdef USEOGRELIB
Ogre::InstallD3D9Plugin();
#else
pTheRoot->loadPlugin("RenderSystem_Direct3D9.dll");
pTheRoot->setRenderSystem(pTheRoot->getRenderSystemByName("Direct3D9 Rendering Subsystem"));
#endif
}
else if(str == "OpenGL")
{
#ifdef USEOGRELIB
#else
pTheRoot->loadPlugin("RenderSystem_GL.dll");
pTheRoot->setRenderSystem(pTheRoot->getRenderSystemByName("OpenGL Rendering Subsystem"));
#endif
}
else
KLThrow("UnKnown RenderSystem!");
// 加载其他插件
#ifdef USEOGRELIB
Ogre::InstallParticleFXPlugin();
Ogre::InstallParticleFX2Plugin();
Ogre::InstallOctreeScenePlugin();
Ogre::InstallCgProgramManagerPlugin();
#else
pTheRoot->loadPlugin("Plugin_ParticleFX.dll");
pTheRoot->loadPlugin("Plugin_ParticleFX2.dll");
pTheRoot->loadPlugin("Plugin_OctreeSceneManager.dll");
pTheRoot->loadPlugin("Plugin_CgProgramManager.dll");
#endif
// 分析资源
ScriptParsingListener listener;
try
{
// 传入渲染窗口句柄
Ogre::NameValuePairList ViewSetting;
INT nFSAA = g_pVaribleSys->GetAs_Int(szFSAAVar);
INT nVsync = g_pVaribleSys->GetAs_Int(szvsyncVar);
switch(nFSAA)
{
case 0:
ViewSetting["FSAA"] = Ogre::StringConverter::toString(0);
break;
//.........这里部分代码省略.........
示例8: _tmain
int _tmain(int argc, _TCHAR* argv[])
{
// ------------------------- Check for command line argument -------------------------------------------
if (! argv[1])
{
printf("\n");
printf("Missing argument.\nExample: \"Converter.exe job1.cfg\"");
return 0;
}
// ------------------------- Basic Ogre Engine initialization -------------------------------------------
Ogre::Root* root = new Ogre::Root;
Ogre::RenderSystem* rendersys = root->getRenderSystemByName("Direct3D9 Rendering Subsystem");
rendersys->setConfigOption("Full Screen", "No");
rendersys->setConfigOption("Video Mode", "800 x 600 @ 32-bit colour");
root->setRenderSystem(rendersys);
Ogre::ResourceGroupManager::getSingleton().addResourceLocation("resource", "FileSystem", "General");
Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
root->initialise(false);
Ogre::RenderWindow* window = root->createRenderWindow("RAW2OGT", 800, 600, false);
Ogre::SceneManager* scenemgr = root->createSceneManager(Ogre::SceneType::ST_GENERIC);
Ogre::Camera* camera = scenemgr->createCamera("camera");
Ogre::Viewport* viewport = window->addViewport(camera);
/*Ogre::Vector3 lightdir(0, -0.3, 0.75);
lightdir.normalise();
Ogre::Light* l = scenemgr->createLight("tstLight");
l->setType(Ogre::Light::LT_DIRECTIONAL);
l->setDirection(lightdir);
l->setDiffuseColour(Ogre::ColourValue(1.0, 1.0, 1.0));
l->setSpecularColour(Ogre::ColourValue(0.4, 0.4, 0.4));*/
scenemgr->setAmbientLight(Ogre::ColourValue(0.7, 0.7, 0.7));
// --------------------------------- Start convert ----------------------------------------------------
// Load job config
Ogre::ConfigFile* terrainconfig = OGRE_NEW Ogre::ConfigFile();
terrainconfig->loadDirect(argv[1]);
// Load info from [general] block
Ogre::String heightmapfile = terrainconfig->getSetting("heightmap", "general");
Ogre::Real heightmapscale = Ogre::StringConverter::parseReal(terrainconfig->getSetting("heightmapscale", "general"));
Ogre::Real heightmapoffset = Ogre::StringConverter::parseReal(terrainconfig->getSetting("heightmapoffset", "general"));
Ogre::uint16 terrainsize = Ogre::StringConverter::parseUnsignedInt(terrainconfig->getSetting("terrainsize", "general"));
Ogre::Real worldsize = Ogre::StringConverter::parseReal(terrainconfig->getSetting("worldsize", "general"));
Ogre::uint16 layercount = Ogre::StringConverter::parseUnsignedInt(terrainconfig->getSetting("layercount", "general"));
// initialise stream to heightmapfile
Ogre::DataStreamPtr stream = Ogre::ResourceGroupManager::getSingleton().openResource(heightmapfile, "General");
size_t size = stream.get()->size();
// verify size
if(size != terrainsize * terrainsize * 4)
OGRE_EXCEPT( Ogre::Exception::ERR_INTERNAL_ERROR, "Size of stream does not match terrainsize!", "TerrainPage" );
// load to buffer
float* buffer = OGRE_ALLOC_T(float, size, Ogre::MEMCATEGORY_GENERAL);
stream->read(buffer, size);
// apply scale and offset
for(int i=0;i<terrainsize*terrainsize;i++)
{
buffer[i] = (buffer[i] + heightmapoffset) * heightmapscale;
}
// Terrain initialization
Ogre::TerrainGlobalOptions* terrainglobals = OGRE_NEW Ogre::TerrainGlobalOptions();
terrainglobals->setMaxPixelError(1);
//terrainglobals->setCompositeMapDistance(30000);
//terrainglobals->setLightMapDirection(lightdir);
//terrainglobals->setCompositeMapAmbient(scenemgr->getAmbientLight());
//terrainglobals->setCompositeMapDiffuse(l->getDiffuseColour());
Ogre::TerrainMaterialGeneratorA::SM2Profile* pMatProfile =
static_cast<Ogre::TerrainMaterialGeneratorA::SM2Profile*>(terrainglobals->getDefaultMaterialGenerator()->getActiveProfile());
pMatProfile->setLightmapEnabled(false);
pMatProfile->setCompositeMapEnabled(false);
Ogre::TerrainGroup* terraingroup = OGRE_NEW Ogre::TerrainGroup(scenemgr, Ogre::Terrain::ALIGN_X_Z, terrainsize, worldsize);
terraingroup->setFilenameConvention(Ogre::String("terrain"), Ogre::String("ogt"));
terraingroup->setOrigin(Ogre::Vector3::ZERO);
Ogre::Terrain* terrain = OGRE_NEW Ogre::Terrain(scenemgr);
// terrainsettings
Ogre::Terrain::ImportData& imp = terraingroup->getDefaultImportSettings();
imp.terrainSize = terrainsize;
imp.worldSize = worldsize;
imp.minBatchSize = 33;
imp.maxBatchSize = 65;
//.........这里部分代码省略.........
示例9: mainSetupAndRunOgre
int mainSetupAndRunOgre() {
Ogre::LogManager* log_manager = 0;
Ogre::Root* root = 0;
OISInput* ois_input_plugin = 0;
#ifdef OGRE_STATIC_LIB
Ogre::OctreePlugin* octree_plugin = 0;
Ogre::ParticleFXPlugin* particle_fx_plugin = 0;
Ogre::GLPlugin* gl_plugin = 0;
#endif
try {
using namespace Ogre;
log_manager = new LogManager();
#ifndef FREEORION_WIN32
log_manager->createLog((GetUserDir() / "ogre.log").string(), true, false);
root = new Root((GetRootDataDir() / "ogre_plugins.cfg").string());
// this line is needed on some Linux systems which otherwise will crash with
// errors about GLX_icon.png being missing.
Ogre::ResourceGroupManager::getSingleton().addResourceLocation((ClientUI::ArtDir() / ".").string(),
"FileSystem", "General");
#else
boost::filesystem::path::string_type file_native = (GetUserDir() / "ogre.log").native();
std::string ogre_log_file;
utf8::utf16to8(file_native.begin(), file_native.end(), std::back_inserter(ogre_log_file));
log_manager->createLog(ogre_log_file, true, false);
// for some reason, for this file, the built-in path conversion seems to work properly
std::string plugins_cfg_file = (GetRootDataDir() / "ogre_plugins.cfg").string();
root = new Root(plugins_cfg_file);
#endif
#if defined(OGRE_STATIC_LIB)
octree_plugin = new Ogre::OctreePlugin;
particle_fx_plugin = new Ogre::ParticleFXPlugin;
gl_plugin = new Ogre::GLPlugin;
root->installPlugin(octree_plugin);
root->installPlugin(particle_fx_plugin);
root->installPlugin(gl_plugin);
#endif
RenderSystem* selected_render_system = root->getRenderSystemByName("OpenGL Rendering Subsystem");
if (!selected_render_system)
throw std::runtime_error("Failed to find an Ogre GL render system.");
root->setRenderSystem(selected_render_system);
int colour_depth = GetOptionsDB().Get<int>("color-depth");
bool fullscreen = GetOptionsDB().Get<bool>("fullscreen");
std::pair<int, int> width_height = HumanClientApp::GetWindowWidthHeight(selected_render_system);
int width(width_height.first), height(width_height.second);
std::pair<int, int> left_top = HumanClientApp::GetWindowLeftTop();
int left(left_top.first), top(left_top.second);
root->initialise(false);
Ogre::NameValuePairList misc_window_params;
misc_window_params["title"] = "FreeOrion " + FreeOrionVersionString();
misc_window_params["colourDepth"] = boost::lexical_cast<std::string>(colour_depth);
misc_window_params["left"] = boost::lexical_cast<std::string>(left);
misc_window_params["top"] = boost::lexical_cast<std::string>(top);
misc_window_params["macAPI"] = "carbon";
misc_window_params["border"] = "resize";
if (fullscreen)
misc_window_params["monitorIndex"] = boost::lexical_cast<std::string>(
GetOptionsDB().Get<int>("fullscreen-monitor-id"));
RenderWindow* window = root->createRenderWindow("FreeOrion " + FreeOrionVersionString(),
width, height, fullscreen, &misc_window_params);
#ifdef FREEORION_WIN32
# ifdef IDI_ICON1
// set window icon to embedded application icon
HWND hwnd;
window->getCustomAttribute("WINDOW", &hwnd);
HINSTANCE hInst = (HINSTANCE)GetModuleHandle(NULL);
SetClassLong (hwnd, GCL_HICON,
(LONG)LoadIcon (hInst, MAKEINTRESOURCE (IDI_ICON1)));
# endif
#endif
SceneManager* scene_manager = root->createSceneManager("OctreeSceneManager", "SceneMgr");
Camera* camera = scene_manager->createCamera("Camera");
camera->setPosition(Vector3(0, 0, 500)); // Position it at 500 in Z direction
camera->lookAt(Vector3(0, 0, -300)); // Look back along -Z
camera->setNearClipDistance(5);
Viewport* viewport = window->addViewport(camera);
viewport->setBackgroundColour(ColourValue(0, 0, 0));
//EntityRenderer entity_renderer(scene_manager);
parse::init();
HumanClientApp app(root, window, scene_manager, camera, viewport, GetRootDataDir() / "OISInput.cfg");
ois_input_plugin = new OISInput;
//.........这里部分代码省略.........