经过简单的熟悉以后,开始对Sample中Resource和PlugIn 以及 Ogre启动时弹出的 配置选择框 很厌烦,希望只加载自己需要的资源和插件,并跳过那个配置对话框。
OGRE 框架 资源加载的顺序
1. mRoot = new Ogre::Root(mPluginsCfg); 创建root 同时加载 plugIn.cfg里的插件
2. Ogre::ConfigFile cf; cf.load(mResourcesCfg); 加载资源cfg, 将资源的目录 存入Ogre ResourceGroupManager中去。
3. mRoot->showConfigDialog(); 弹出配置对话框,选定Rendering Dll, 确定一些配置。
4. choose Scene Manager, 从前面加载的插件中 选择一个scene Manager.
5. loadResources Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
加载资源文件。
自定义的加载方式
1. // create scene root with no config file and plugin
m_pRoot = new Ogre::Root("");
2. Ogre::ConfigFile cf; cf.load("E://bin//Debug//resources_d.cfg"); 存入资源目录,(可以删除一些不必要的)
我们可以通过 Ogre::ResourceGroupManager::getSingleton().addResourceLocation 手动的加入目录。
比如 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../media/materials/programs", "FileSystem", "General");
Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../media/materials/scripts", "FileSystem", "General");
3. m_pRoot->restoreConfig() ; 我们可以直接使用默认的设置,而跳过对话框配置。
或者 我们可以手动的来加载 m_pRoot->loadPlugin("E:///bin//Debug//RenderSystem_GL_d.dll");
m_pRoot->loadPlugin("Plugin_OctreeSceneManager_d");
// configure
// Grab the OpenGL RenderSystem, or exit
Ogre::RenderSystem* rs = mRoot->getRenderSystemByName("OpenGL Rendering Subsystem");
if(!(rs->getName() == "OpenGL Rendering Subsystem"))
{
return false; //No RenderSystem found
}
// configure our RenderSystem
rs->setConfigOption("Full Screen", "No");
rs->setConfigOption("VSync", "No");
rs->setConfigOption("Video Mode", "800 x 600 @ 32-bit");
mRoot->setRenderSystem(rs);
从而完成 配置对话框该做的事情。
4. 创建 SceneManager
5. 创建 Camera
6. 创建 Window
7. 初始化 要加载的资源
分享到:
相关推荐
资源组是资源管理的核心概念,它们允许开发者将相关资源分组,然后作为一个整体进行加载、卸载和初始化。资源组内部包含两个关键数据结构:资源位置表和资源次序表。资源位置表用于快速查找资源在哪个档案中,而资源...
`函数来加载资源配置文件,如`resource.cfg`,以确保OGRE能够正确识别和加载所需的纹理、模型和其他资源。 #### 配置渲染系统 为了适应不同的硬件环境,OGRE允许用户选择具体的渲染系统(如Direct3D、OpenGL等)。...
BaseApplication类通常会处理初始化和清理OGRE渲染环境,加载资源,处理窗口事件,以及提供一个框架来管理场景和渲染循环。开发者可以基于这个基类来创建自己的应用程序,重写或扩展其中的方法以满足特定需求。 2. ...
在项目配置中,"Ogre_PATH"环境变量指向Ogre的安装路径,确保编译器和链接器能找到Ogre的相关库和资源文件。"TestOgre.vcxproj*"文件是Visual Studio的项目文件,用于管理和构建工程。".filters"文件定义了项目中的...
初始化OGRE时,需要配置渲染系统、窗口大小、是否全屏等参数。`Root`类是整个OGRE框架的入口点,负责初始化和管理所有组件。 通过理解并熟练应用这些知识点,开发者能够有效地利用OGRE 3D引擎构建功能丰富的3D应用...
编写Ogre初始化代码** 在MFC的`CMainFrame`或`CMyDocument`类中,编写Ogre的初始化代码。这通常包括创建`Root`对象,设置渲染系统,加载资源管理器,创建场景管理器,以及创建窗口渲染目标。 ```cpp Ogre::Root ...
4. **渲染基础**:讲解如何创建窗口,初始化渲染上下文,以及如何绘制几何体到屏幕上。还会涵盖如何设置渲染管线,包括视口、渲染目标和渲染通道。 5. **资源管理**:Ogre3D拥有强大的资源管理系统,可以处理纹理、...
1. **初始化阶段**:Ogre引擎启动时,会读取Plugins.cfg文件。 2. **解析配置**:解析文件中的每一行,每一行代表一个插件,包含插件的名称和库文件路径。 3. **加载插件**:根据解析到的信息,动态加载指定的DLL...
综上所述,Ogre的示例程序框架通过`SampleBrowser`类组织和管理,通过`setup()`和`go()`函数完成初始化和运行过程。理解这一框架对于开发基于Ogre的3D应用至关重要,它展示了如何从无到有构建一个完整的3D图形应用。...
在`main.cpp`中,会找到Ogre3D的初始化代码,包括创建渲染窗口、设置渲染系统、加载资源等。`Root`类是Ogre3D的核心,它负责整个渲染上下文的管理和配置。 ```cpp Ogre::Root root; root.initApp(false); // 不显示...
一个典型的OGRE项目通常包括源代码文件、资源文件(如纹理、模型)、配置文件等。TinyOgre.cpp和TinyOgre.h可能代表项目的主程序逻辑和类定义。在项目中,你需要定义一个或多个场景管理类,负责组织和管理3D对象。 ...
材质脚本文件通常有“.material”扩展名,它们在资源组初始化时被加载。OGRE会在关联该组的所有资源位置中寻找这些文件,并进行解析。如果你希望手动加载材料脚本,可以使用Ogre::MaterialSerializer::parseScript...
2. **初始化Ogre**:在你的Qt应用中,你需要在适当的时候初始化Ogre3D引擎。这通常在主窗口或视图类的构造函数中完成,通过调用Ogre的`Root`类的初始化方法,并设置渲染窗口。 3. **创建场景管理器**:Ogre中的场景...
1. **初始化Ogre**:首先,我们需要配置Ogre的渲染系统,选择适当的渲染API,设置窗口大小和分辨率,加载必要的资源(如材质、纹理和模型)。 2. **集成CEGUI**:接着,我们需要初始化CEGUI系统,指定字体、图像集...
1. **初始化Ogre**:首先,你需要创建一个`Root`对象,它是Ogre的核心管理类,负责初始化渲染系统、加载插件、设置渲染窗口等。 2. **选择渲染系统**:Ogre支持多种渲染API,如Direct3D11、OpenGL等,通过`Root::...
- 初始化Ogre引擎,创建场景管理器,设置渲染窗口,并加载资源。 - 创建相机和光源,添加场景对象,编写渲染循环。 4. win10系统兼容性: 提供者提到这个版本已在win10系统上测试成功,这意味着Ogre 1.10.12对...
4. **第一个OGRE程序**:引导读者编写第一个简单的OGRE程序,展示如何创建窗口、初始化引擎、加载场景和渲染帧。 5. **场景管理**:讲解OGRE的Scene Manager机制,如何创建、组织和管理场景中的对象,以及如何使用...
Ogre项目的代码通常包含初始化、加载资源、创建场景、渲染循环以及清理等部分。这些代码可能涉及到`Ogre::Root`、`Ogre::SceneManager`、`Ogre::RenderWindow`等关键类。 6. **初始化Ogre** 在代码中,会有一个...
- **初始化和关闭**:在程序开始时,需要正确初始化OGRE引擎,设置渲染窗口和设备。程序结束时,需要释放资源并关闭引擎。 - **场景管理**:通过场景管理器组织3D对象,如摄像机、光源、模型和粒子系统等,控制它们...
- **初始化Audiere**:在应用程序的初始化阶段,创建一个Audiere的实例,并指定输出设备,如扬声器或耳机。 - **加载音频文件**:使用Audiere的`openURL`函数加载音频资源,可以是音乐文件或音效文件。 - **创建...