ogre 学习笔记 - Day 0
OGRE : Object-Oriented Graphics Rendering Engine
从名称可以得出,OGRE是一个渲染引擎
下载地址 https://www.ogre3d.org/
- 最新版 ogre-13.1.0
编译
-
工具 cmake-gui, vs2019, vscode
-
Configure
configure时发现ogre会自动从github下载/编译依赖项,github速度有可能很慢,导致失败。
使用镜像 https://hub.fastgit.org 替代 https://github.com 。
用vscode打开项目工程目录,将所有的 https://github.com 替换为 https://hub.fastgit.org -
Generate
-
Open Project
-
生成解决方案
出现错误:检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值…(pugixml.obj)打开项目 build 路径,…/pugixml-1.10/pugixml.sln, 使用Debug编译,编译 pugixml, 然后编译 INSTALL,关闭项目
-
重新生成Ogre项目
-
运行 SampleBrowser
在线文档
- https://ogrecave.github.io/ogre/api/latest/
打开Ogre文件夹,查看文件结构,同时查看相关文档
https://ogrecave.github.io/ogre/api/latest/modules.html
- CMake : CMake相关文件
- Components : 组件
- Bites 可重用的应用程序快速原型
- Input SDL2输入
- Trays 简单GUI系统
- MeshLodGenerator Mesh LOD生成器
- Pading 渲染大型模块结构体
- Property 属性与属性名
- RTShaderSystem 实时shader系统:运行期生成GPU程序
- Terrain 地形
- Volume 面向地形的LOD体积渲染
- Bites 可重用的应用程序快速原型
- Docs : 文档
- Media : 多媒体文件
- OgreMain : ogre核心
- Other : 其他
- Plugins : 插件
- Assimp 使用Open-Asset-Importer的几何体编解码器
- BSPSceneManager 基于二进制空间分割(BSP)的室内级场景管理器
- CgProgramManager 专业化高级GPU程序,为nVidia的CG语言提供支持
- DocScene
- EXRCodec 用于加载OpenEXR高动态范围图像的编解码器
- FreeImageCodec 使用FreeImage的图片编解码器
- GLSLang GLSL支持
- OctreeSceneManager 八叉树场景管理器
- OctreeZone PCZone的八叉树
- ParticleFX 粒子效果
- PCZSceneManager 使用PCZ(Portal-Connected-Zones)的空间分割器场景管理器
- STBICodec 使用stbimage的图像编解码器
- RenderSystems : 渲染系统
- D3D9
- D3D11
- GL
- GL3Plus
- GLES2
- GLSupport
- Metal
- Tiny 渲染系统的软件光栅化实现
- Samples : 例子
- AndroidJNI
- Browser
- Character
- Common
- Conpositor
- Csharp
- CSMSShadows
- DeferredShading
- Emscripten
- EndlessWorld
- Isosurf
- Java
- Media
- OceanDemo
- ParticleGS
- PCZTestApp
- Python
- ShaderSystem
- ShaderSystemMultiLight
- ShaderSystemTexturedFog
- Simple
- TerrainTessellation
- Tutorials
- VolumeTex
- Water
- SDK : 平台SDK
- Android
- iOS
- OSX
- Tests : 测试
- Tools : 工具
之后,打开 OgreMain 文件夹,归纳整理一下所有的文件。
Thread, Animation, Archive, billboard, BlendMode, Bone, Camera, Compositor,
Controller, Entity,FileSystem,GpuProgram, HardwareBuffer, Material, Math, Mesh, Node, Particle, Pass, Patch, Plane, Renderable, Resource, Scene, Script, Shadow,Skeleton 等。
都是场景/ 渲染相关,但是,没有 UI。
从上面的分析,可以得到,UI属于Component/Overlay/OgreImGuiLayer
从上面这些信息,可以得出,
Ogre使用了SDL2,
Ogre支持的平台:Windows, Android, iOS, MacOS
渲染API:D3D9, D3D11, GL, GLES2,Metal