机器翻译正文由机器翻译自项目原始文档(英文),排版经程序统一处理,可能存在偏差,请以原项目仓库为准。
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://www.cn121.com/gameengine/jmorton06-lumos.html
- 原项目:jmorton06/Lumos 版权归原作者 jmorton06 及贡献者所有
- 收录信息:本站于 2026-10-18 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
- 开源协议:收录时本项目采用 MIT(查看 LICENSE 原文),本站译文为其衍生内容;使用、修改、分发请以该仓库 LICENSE 原文为准。
- 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 jmorton06/Lumos。
- 翻译说明:本页正文为人工智能生成内容——由机器翻译对原项目 README 初译、经程序校验排版,可能存在错漏,请以原项目文档为准。
- 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
- 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。