Ogre-Next

第二代 Ogre 图形渲染引擎
授权协议 MIT
开发语言 C/C++
所属分类 程序开发、 图形/图像处理
软件类型 开源软件
地区 不详
投 递 者 边银龙
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Ogre-Next 又名 Ogre v2,是一个面向场景、灵活的 3D C++ 图形渲染引擎,与一代的 Ogre 1.x 版本相比,Ogre-Next 的 Ogre 2.x 版本更专注于以下内容:

  • 缓存友好的实体和节点布局
  • 节点的线程批处理、Frustum Culling 和其他技术,例如 Forward Clustered
  • 使用 AoSoA(阵列结构阵列)内存布局的 SIMD 处理
  • 通过后台流加载的纹理

因此,Ogre-Next 更适用于旨在在屏幕上拥有大量对象或渲染预算紧张的项目,例如 VR。

支持的后端

  • Direct3D 11
  • OpenGL 3.3+
  • Metal
  • Vulkan

支持的平台

  • Windows (XP*, 7, 8, 10)
  • Linux
  • macOS**
  • iOS
  • Android***

(*) XP 支持是通过 GL3+ 实现的。需要最新的驱动程序。旧 GPU 没有能够运行 Ogre-Next 2.x 的稳定 GL 驱动程序。
(**) 强烈推荐使用金属后端。macOS 支持 GL 后端,但窗口子系统尚未移植到 2.3。
(***) 设备必须支持 Vulkan。支持安卓7.0+;但由于旧版本中存在大量驱动程序错误,因此强烈建议使用 Android 8.0+。

支持的编译器

  • Clang 3.3 或更新版本
  • GCC 5 或更新版本
  • VS2008 或更新版本

实际案例展示

Yoy Simulators

Skyline Game Engine

Racecraft

  • ogre-next 学习笔记 - Day 8 时隔N天,都忘得差不多了,先回忆一下。 看看 hlms 几个cache的描述 mRenderableCache 此缓存包含设置给可渲染类的所有属性,并且可以在为可渲染类分配数据块(即在Renderable::setDatablock内部)时提前对其进行计算。包含诸如材质是否具有法线贴图、网格是否具有UV集、材质是否需要切线进行法线贴图等特性。负责填充此

  • ogre-next 学习笔记 - Day 6 看完了hlms,看看还有没有不一样的东西。 看了看ogre解决方案,除了hlms以及与ogre1.x相同的东西,就只剩一堆的sample。 看看每个sample都是干嘛的。 Sample_AnimationTagPoint "TagPoints are much more powerful in 2.1 than they were in 1.x\n"

  • ogre-next 学习笔记 - Day 4 ​ 从之前的学习中,找到hlms的材质路径,打开看一看。 并没有发现什么不同之处。那应该就是代码实现的不同了。 先看看 Hlms : OgreHlms.h /** HLMS stands for "High Level Material System". The Hlms has multiple caches:

  • 工程编译成功后,就可以开始学习了。 1. 分析文件结构 CMake Components 组件 Hlms MeshLodGenerator Overlay Paging PlanarReflections Property RTShaderSystem SceneFormat Terrain Volume Docs OgreMain Other PluIns BSPSceenmanager CgP

  • ogre-next 学习笔记 - Day 5 回过头,想起在pbsmaterial的描述里好像有说有文档。 // Also see the Hlms section of the porting guide in\n" // "the Docs/2.0 folder. 打开 Docs/2.0/Ogre 2.0 Porting Manual DRAFT.odt 工具 OpenOffi

 相关资料
  • OGRE是一个三维(3D)图形渲染引擎。它是面向对象的,并且高效,抽象化了不同的API和平台,这样可以以场景为对象来使用物体,支持多种场景.它已经成功地被应用于诸多三维仿真领域,包括网络游戏和三维仿真项目。 功能和特点 ◆ 简单易用的面向对象接口 ◆ 最小化渲染3D场景 ◆ 自动完成功能 ◆ 类设计简洁 ◆ 完全的面向对象 ◆ 支持Direct3D和OpenGL ◆ 支持Windows,Linux

  • OGRE(Object-Oriented Graphics Rendering Engine,面向对象图形渲染引擎)是一个用C++开发的面向场景、非常灵活的3D引擎,它旨在让开发人员更容易、更直接地利用硬件加速的3D图形系统开发应用。 OGRE 3D 是一个被广泛使用的开源三维图形渲染库,成功地被应用于诸多三维仿真领域,其中包括网络游戏和一些商业的三维仿真项目 在线文档:https://ogrecave.github.io/ogre/

  • 材质 着色器控制的模型表面外形 光照 光照、阴影控制及环境设置 粒子系统 各种类型粒子特效的创建及使用

  • 渲染引擎用于渲染内容。 概要 hexo.extend.renderer.register(name, output, function(data, options){ }, sync); 参数 描述 name 输入的扩展名(小写,不含开头的 .) output 输出的扩展名(小写,不含开头的 .) sync 同步模式 渲染函数中会传入两个参数: 参数 描述 data 包含两个属性:文件路径 pat

  • 在前面的课程中我们学习了延迟渲染的基础部分,而且将几何阶段的结果输出到了 G-Buffer 中。如果你运行了演示程序你就知道 G-Buffer 里面的内容是什么了。今天我们将完成延迟渲染的基本实现,并且使得最后渲染出来的场景看起来和使用正向渲染的结果一样!在这一课的最后会有一个问题显现出来,这个问题将在下一课中解决。 现在 G-buffer 中已经存放和合适的数据,我们要借助于它们来进行光照计算。

  • Blade 内部内置了一个非常简单的模板渲染引擎,如果你有一些简单的页面需要渲染可以试试它(生产环境不适用)。 渲染一个模板需要遵守一条准则: 所有的模板文件都存储在 resources/templates 目录下 你可以调用 Response 方法的 render 方法渲染或者返回一个 String 类型的视图路径。 @GetRoute("/index") public void renderI