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 的显卡
浏览 18
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

编辑 分享
举报