简单罗列一下
开源,免费
本表格内容来自 chatgpt,可能不准确。先列上
工具/引擎 | 游戏开发 | 实时 3D 渲染 | 科学数据可视化 | 虚拟现实/仿真 | CAD/工业设计 | 医学与工程 | 大规模数据处理 | 体渲染/点云处理 |
---|---|---|---|---|---|---|---|---|
OGRE | ✅ 高质量渲染 | ✅ 强大渲染能力 | ❌ 不适用 | ✅ 适合 | ❌ 不适用 | ❌ 不适用 | ❌ 不适用 | ❌ 不适用 |
Irrlicht Engine | ✅ 简单游戏开发 | ✅ 基本渲染能力 | ❌ 不适用 | ✅ 适合 | ❌ 不适用 | ❌ 不适用 | ❌ 不适用 | ❌ 不适用 |
Godot | ✅ 全功能游戏引擎 | ✅ 完整支持 | ❌ 不适用 | ✅ 支持 | ❌ 不适用 | ❌ 不适用 | ❌ 不适用 | ❌ 不适用 |
Panda3D | ✅ 教育与轻量级游戏 | ✅ 支持 | ❌ 不适用 | ❌ 不适用 | ❌ 不适用 | ❌ 不适用 | ❌ 不适用 | ❌ 不适用 |
O3DE | ✅ 复杂 AAA 游戏开发 | ✅ PBR 和现代图形特性 | ❌ 不适用 | ✅ 专业支持 | ❌ 不适用 | ❌ 不适用 | ✅ 支持数据驱动 | ❌ 不适用 |
OpenSceneGraph | ❌ 不适用 | ✅ 适合 | ✅ 部分适合 | ✅ 支持 | ✅ 适合 | ✅ 适合 | ✅ 支持 | ❌ 不适用 |
VulkanSceneGraph | ❌ 不适用 | ✅ 非常适合 | ✅ 高性能支持 | ✅ 支持 VR/AR | ✅ 支持 | ✅ 适合 | ✅ 支持 | ❌ 不适用 |
Open3D | ❌ 不适用 | ❌ 不适用 | ✅ 强大数据可视化 | ❌ 不适用 | ❌ 不适用 | ✅ 最适合 | ✅ 最适合 | ✅ 最适合 |
VTK | ❌ 不适用 | ❌ 不适用 | ✅ 最适合 | ❌ 不适用 | ✅ 部分适合 | ✅ 最适合 | ✅ 最适合 | ✅ 最适合 |
Coin3D | ❌ 不适用 | ❌ 不适用 | ✅ 支持简单可视化 | ✅ 支持 | ✅ 非常适合 | ✅ 部分适合 | ❌ 不适用 | ❌ 不适用 |
Open Inventor | ❌ 不适用 | ❌ 不适用 | ✅ 支持简单可视化 | ✅ 支持 | ✅ 非常适合 | ✅ 部分适合 | ❌ 不适用 | ❌ 不适用 |
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年:支持现代的图形硬件,提升了性能和图形质量。
Coin3D
它是 Open Inventor 的一个高兼容性实现。
Coin3D 是一个开源的 3D 图形工具包,基于 Open Inventor 标准开发,主要用于交互式 3D 图形应用的开发。它提供了高层次的编程接口,让开发者能够方便地创建复杂的 3D 图形场景,而无需直接处理底层的 OpenGL 代码。
1998-2011,Coin3D作为商业产品开发,采用商业和GPL双重授权。最初由一家名为 Systems in Motion (SIM) 的公司开发,后来由 Kongsberg Oil & Gas Technologies 维护。
2011年,停止商业开发,采用 BSD协议发布。
- Coin3D 使用 BSD 许可证
- 它的Python绑定叫做 pivy
- 它的Qt绑定叫做 quarter(老的绑定叫 soqt)
- 它还有提供有 wxWidget,Xt/Motif、GTK 等绑定
FreeCAD 使用 Coid3D
Open Inventor
Open Inventor 是由 Silicon Graphics, Inc. (SGI) 在 1990 年代开发的一种高级 3D 图形工具包,它为开发交互式三维应用程序提供了一个面向对象的框架。它的核心是一个基于场景图(Scene Graph)的架构,这种架构简化了 3D 图形开发,使开发者可以通过更高层次的接口来操作 3D 对象,而无需直接处理底层的 OpenGL 调用。
采用 LGPL 授权(2000年开始,但是开源版本基本不再维护??)
相关项目:
- Open Inventor Toolkit :赛默飞的闭源产品。
- Coin3D:和 Open Inventor 接口兼容的开源产品
- MeVisLab Open Inventor:二次开发版本,包含Qt绑定
商业
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
- https://en.wikipedia.org/wiki/Open_Inventor