ogre 学习笔记 - Day 0

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体积渲染
  • 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

上一篇:从零开始做3D地图编辑器 基于QT与OGRE


下一篇:【Leetcode贪心简单问题三】860. 柠檬水找零