游戏引擎 活跃维护

Lumos

jmorton06/Lumos

跨平台 C 语言 2D/3D 游戏引擎

1598
Stars 标星
159
Forks 分支
42
Watchers 关注
3
Open Issues
C++
主要语言
MIT
开源协议
547.3 MB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:jmorton06/Lumos
git clone https://github.com/jmorton06/Lumos.git
git clone git@github.com:jmorton06/Lumos.git
README.md main

机器翻译正文由机器翻译自项目原始文档(英文),排版经程序统一处理,可能存在偏差,请以原项目仓库为准。

Lumos 引擎

用 C 编写的跨平台 2D 和 3D 游戏引擎。

截图 | 构建 | 功能 | 依赖



#

截图

#

构建

git clone https://github.com/jmorton06/Lumos.git
git submodule update --init --recursive

安装 Vulkan SDK( https://vulkan.lunarg.com/)

Linux

sudo apt-get install -y g++-11 libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libopenal-dev mesa-common-dev
cd Lumos
Tools/linux/premake5 gmake2
make -j$(nproc) # config=release

窗口

运行 Scripts/GenerateVS.bat 来生成一个 Visual Studio 项目。

cd Lumos
msbuild /p:Platform=x64 /p:Configuration=Release Lumos.sln

麦金塔

cd Lumos
Tools/premake5 xcode4
xcodebuild -project Runtime.xcodeproj

M1/M2/M3 Mac 可能需要:

cd Lumos
Tools/premake5 xcode4 --arch=arm64 --os=macosx
xcodebuild -project Runtime.xcodeproj

iOS

cd Lumos
Tools/premake5 xcode4 --os=ios
xcodebuild -project Runtime.xcodeproj CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO

要在支持 Vulkan (MoltenVK) 的苹果设备上运行,请在此处禁用 Metal API 验证:Product > Scheme > Edit Scheme… > Run > Options > Metal API 验证 #

功能

  • 支持 Windows、Linux、macOS。

  • Vulkan

  • 使用 OpenAL 的 3D 音频。

  • 使用 PBR 着色渲染 3D 模型。

  • 使用 ImGui 的调试界面。

  • 自定义 3D 碰撞检测 - 长方体/球体/金字塔。

  • 2D 碰撞检测 - Box2D。

  • 基础 Lua 脚本支持。 #

    贡献

  • 欢迎贡献。无论是新功能还是错误修复都可以。只需提交拉取请求。

  • 一些需要添加/修复的内容的想法在 Todo.txt # 中

    依赖

    • imgui : Dear ImGui:一个无冗余、即时模式的图形用户界面库,适用于 C,依赖最小。
    • imguizmo : 基于 Dear ImGui 的即时模式 3D 控件,用于场景编辑及其他控制。
    • entt : 快速且可靠的实体组件系统(ECS)。
    • glfw : 一个多平台库,用于 OpenGL、OpenGL ES、Vulkan、窗口和输入。
    • stb : 单文件公共领域(或 MIT 许可)库,适用于 C/C++。
    • tinygltf : 仅头文件的 C++11 小型 glTF 2.0 库。
    • tinyobjloader : 小巧但强大的单文件 Wavefront OBJ 加载器。
    • volk : Vulkan API 的元加载器。
    • Box2D :2D 物理引擎。
    • sol2 :C <-> Lua API 封装。
    • cereal : 一个用于序列化的 C++11 库。
    • meshoptimizer : 网格优化库,使网格更小且渲染更快
本站来源与版权声明
  • 本文标题:Lumos - 跨平台 C 语言 2D/3D 游戏引擎
  • 本文链接:https://cn121.com/gameengine/jmorton06-lumos.html
  • 原项目:jmorton06/Lumos 版权归原作者 jmorton06 及贡献者所有
  • 收录信息:本站于 2026-10-18 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
  • 开源协议:收录时本项目采用 MIT(查看 LICENSE 原文),本站译文为其衍生内容;使用、修改、分发请以该仓库 LICENSE 原文为准。
  • 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 jmorton06/Lumos。
  • 翻译说明:本页正文为人工智能生成内容——由机器翻译对原项目 README 初译、经程序校验排版,可能存在错漏,请以原项目文档为准。
  • 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
  • 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。