1+1=10

记记笔记,放松一下...

开源C++ 3D引擎小记

简单罗列一下

开源,免费

OGRE

OGRE:面向对象的图形渲染引擎(Object-Oriented Graphics Rendering Engine)。最初由 Steve Streeting 创建,它是面向对象设计的,专注于图形渲染而非完整游戏引擎功能。采用MIT协议发布。

首次发布于2005年,但是2019年fork出两个项目同时开发:

  • Ogre:原来的1.x 版本。版本号从 1.11.x, 1.12.x 之后就变成了 13.x,14.x,...
  • Ogre Next:原来的2.x开发版本。版本号从2.1开始,后续命名 3.0,4.0

两个版本的比较见官方,OgreNext 是 Ogre 引擎的现代化版本,专注于物理渲染管线,适合高端硬件和现代图形 API 的需求。OGRE更成熟,支持的插件,绑定的语言更多。

Ogre提供有ApplicationContextQt ,而OgreNext没有直接提供。

Irrlicht Engine

Irrlicht 于 2003 年由 Niko Schröder 开发,一个轻量级的 3D 引擎。采用zlib协议发布。

简单的 API 和良好的文档。

Godot

发音:/ˈɡɒdoʊ/ GOD-oh

Godot 起初由 Juan Linietsky 和 Ariel Manzur 开发,正式开源于 2014 年。

尽管可以使用C++,但知名的是它的 GDScript 和 C# 支持

Panda3D

Panda3D 由迪士尼和卡内基梅隆大学合作开发,最初用于主题公园的互动体验。2008 年,迪士尼将其开源。

简单的学习曲线和丰富的 Python 绑定,但其核心是用 C++ 编写的。内置的物理引擎和粒子系统,适合教育和快速原型开发

O3DE

O3DE:Open 3D Engine

O3DE 的前身是 Amazon Lumberyard,这是 Amazon 在 2016 年基于 CryEngine 开发的引擎。

2021 年,Amazon 将 Lumberyard 开源,并将其交由 Linux 基金会管理,形成了 Open 3D Engine 项目。

采用 Apache License 2.0 与 MIT 协议。

OpenSceneGraph

OpenSceneGraph (OSG) 1998年OSG 由 Don Burns 和 Robert Osfield 创建,最初用于军事仿真和科学可视化,采用 OpenGL 渲染和场景图架构。它是一个开源的 3D 图形应用程序开发框架,广泛用于可视化、仿真、游戏开发和虚拟现实等领域。它基于 C++ 开发,提供了一个高效的 3D 渲染引擎,适合用于构建高性能的图形应用程序。发布协议类似 LGPL。

VulkanSceneGraph

  • https://vsg-dev.github.io/vsg-dev.io/
  • https://github.com/vsg-dev/VulkanSceneGraph

2018年:VulkanSceneGraph 项目开始在 GitHub 上发布。是一个基于 Vulkan 图形 API 的开源 3D 场景图引擎,旨在提供比传统 OpenGL 更高效、更灵活的 3D 渲染解决方案。

采用MIT协议。

Qt支持:https://github.com/vsg-dev/vsgQt

Open3D

一个开源的库,不是游戏引擎。旨在为 3D 数据处理和可视化提供高效和易用的工具。它专注于处理点云、网格、体素和其他 3D 数据结构,广泛应用于计算机视觉、机器人、几何处理、3D 重建等领域。

Open3D 提供了简洁且高效的 API,使开发者能够快速进行 3D 数据的处理、分析和可视化。

VTK

VTK (The Visualization Toolkit) 是一个开源的 3D 计算机图形学、图像处理、可视化和数据分析软件库。它用于处理、渲染和分析科学数据,广泛应用于工程、医学、地球科学、物理学等领域。VTK 支持丰富的 3D 图形可视化,提供了强大的功能,可以进行多种数据处理操作,包括几何处理、网格和体积数据的可视化、流体动力学分析、图像分析等。采用BSD协议发布

  • 1993年:VTK 由 Kitware 公司创建,最初用于科学计算和工程仿真领域的数据可视化。
  • 1996年:VTK 开源,允许更多的开发者和研究人员使用和改进。
  • 2005年:VTK 添加了对 Python 的支持,使得开发者能更方便地用 Python 进行可视化编程。
  • 2010年代:增加了对 GPU 加速的支持,并改善了渲染技术,能处理更复杂的数据和图形。
  • 2015年:支持现代的图形硬件,提升了性能和图形质量。

商业

Unigine

Unigine 开发始于 2005 年,主要由一家俄罗斯公司开发,一个高保真的 3D 渲染和物理模拟引擎。

尽管 Unigine 的专业版是商业产品,但它提供了一个免费的社区版供开发者使用。

Unreal Engine

Unreal Engine(简称 UE)是由 Epic Games 开发的一个高度功能强大的游戏引擎,广泛应用于游戏开发、虚拟现实(VR)、电影制作、建筑可视化等多个领域。自 1998 年首次发布以来,Unreal Engine 已成为业内最为知名和最具影响力的引擎之一。

Unreal Engine 曾经是商业引擎,需要支付高额的许可费用,但从 2015 年起,Epic Games 推出了 UE4 的免费版本,允许开发者使用所有功能,唯一的费用是当游戏收入超过一定数额时支付分成。

参考

  • https://en.wikipedia.org/wiki/OGRE
  • https://www.ogre3d.org/2020/04/21/qt-ogre3d-integration-now-available-in-master
  • https://en.wikipedia.org/wiki/Irrlicht_Engine
  • https://en.wikipedia.org/wiki/Panda3D
  • https://en.wikipedia.org/wiki/Godot_(game_engine)
  • https://wiki.qt.io/Using_3D_engines_with_Qt
  • https://en.wikipedia.org/wiki/Unigine
  • https://en.wikipedia.org/wiki/VTK

Tools