Lumos icon

Lumos

C++ game engine · 1.5k+ stars

A full-featured C++ game engine targeting Windows, Linux, macOS, and iOS from a single codebase. Vulkan rendering with a deferred pipeline, PBR materials, Lua scripting, dual physics, and a built-in scene editor — all MIT licensed.

C++ Cross-platform Open Source MIT
Editor viewport with scene
screenshot-1.png

Editor viewport with scene

PBR rendering & lighting
screenshot-2.png

PBR rendering & lighting

Scene hierarchy & inspector
screenshot-3.png

Scene hierarchy & inspector

Particle effects
screenshot-4.png

Particle effects

Physics simulation
screenshot-5.png

Physics simulation

// Features

Cross-platform

One C++ codebase targeting Windows, Linux, macOS, and iOS. Vulkan on desktop (via MoltenVK on Apple Silicon) with a unified graphics abstraction so rendering code doesn't change per platform.

Deferred Rendering Pipeline

PBR material system with dynamic shadows (4 cascaded shadowmaps), environment mapping, skybox, MSDF text rendering, a particle system, and a 2D sprite batcher — all built on Vulkan.

Built-in Scene Editor

Full ImGui-based editor with scene hierarchy, a 5800-line inspector panel, asset browser, Lua script debugger, console, shader editor, and 3D gizmos via ImGuizmo. Undo/redo throughout.

Dual Physics

Custom 3D physics engine with sphere, cuboid, and pyramid collision, spatial broadphase, constraint system, and raycasting — alongside Box2D for 2D simulations. Both available per scene.

Lua Scripting

Attach Lua scripts to any entity via LuaScriptComponent. Full bindings to maths, physics, and ImGui via Sol2. Scripts are editable in the built-in text editor with live debugging in the console panel.

Asset Pipeline

Import GLTF, FBX, and OBJ models with skeletal animation support (via Ozz). Assets are packed into .lpak archives for distribution. Mesh optimisation via meshoptimizer is built in.