Overload模块化 3D 游戏引擎

联合创作 · 2023-09-27 18:55

Overload 是一个 3D 游戏引擎,受行业标准的启发,由 Benjamin VIRANINMax BRUN 和 Adrien GIVRY 发起。Overload 现在是一个社区项目,对任何贡献开放。


Overload 的支柱是:



  • 简单

  • 文档

  • 高质量的现代 C++ 代码



模块


Overload 分为 12 个模块(10 个 DLL 和 2 个可执行文件):


Overload SDK


Overload SDK 是引擎的核心。它是应用程序(OvGameOvEditor)正在使用的一组库。我们设计这些库时考虑了可重用性。它们非常模块化,易于从游戏引擎上下文中提取。



  • OvAnalytics: 代码和硬件分析

  • OvDebug:记录,断言

  • OvTools: 序列化、ini 文件、事件、时间

  • OvMaths: 向量、矩阵、四元数、变换

  • OvAudioWraps irrKlang

  • OvPhysicsWraps Bullet3

  • OvRendering: 使用 OpenGL 的渲染引擎

  • OvWindowing: GLFW + Windows API 包装器

  • OvUI:imGui 包裹在一个基于事件和基于组件的 UI 系统中

  • OvCore: Mediator、资源管理、脚本、基于组件的场景系统


Overload 应用程序



  • OvGame:使用 OvCore、资产相关的通用可执行文件,适用于任何使用 Overload 构建的游戏

  • OvEditor:使用 OvCore,向最终用户展示游戏开发(从创建到构建)



目标



  • 了解如何构建游戏引擎

  • 设计一个终端用户的应用思维

  • 使游戏引擎尽可能简单

  • 生成高质量的现代代码

  • 使用我们的引擎创建游戏

  • 处理一个长期项目

  • 为开发人员和最终用户开发文档



特点



  • 游戏编辑器

  • Lua 脚本

  • 基于物理的渲染 (PBR)

  • 自定义着色器支持

  • 视窗游戏建设

  • 分析工具(编辑器和构建)

  • 材质编辑器

  • 3D音响系统

  • 刚体物理学



依赖关系



  • 带有 GLEW 的 OpenGL(图形 API)

  • GLFW(窗口和输入)

  • Assimp(3D 模型加载器)

  • Bullet3(物理)

  • irrKlang (音频)

  • Tinyxml2(XML 序列化程序)

  • SOL2(Lua 粘合剂)

  • imGui (GUI)


要求



  • 内存:100MB

  • 操作系统:Windows 7

  • GPU:支持 OpenGL 4.3 的显卡




浏览 50
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报