jmorton06 / Lumos
Licence: mit
Cross-Platform C++ 2D/3D game engine
Stars: ✭ 343
Programming Languages
cpp17
186 projects
Projects that are alternatives of or similar to Lumos
Ava
A tiny unlicensed 3D game engine in C; with C++ and Lua interfaces. Written in 32 random ̷d̷a̷y̷s̷ m̷o̷n̷t̷h̷s̷ years.
Stars: ✭ 287 (-16.33%)
Mutual labels: game-engine, opengl, imgui
Magnum
Lightweight and modular C++11 graphics middleware for games and data visualization
Stars: ✭ 3,728 (+986.88%)
Mutual labels: game-engine, opengl, vulkan
Pmtech
Lightweight, multi-platform, data-oriented game engine.
Stars: ✭ 478 (+39.36%)
Mutual labels: game-engine, opengl, vulkan
Bansheeengine
Modern C++14 game engine with Vulkan support, fully featured editor and C# scripting
Stars: ✭ 2,906 (+747.23%)
Mutual labels: game-engine, opengl, vulkan
Simplerenderengine
Small C++14 render engine
Stars: ✭ 253 (-26.24%)
Mutual labels: game-engine, opengl, imgui
Fiber2d
Cross-platform 2D Game Engine in pure Swift
Stars: ✭ 415 (+20.99%)
Mutual labels: game-engine, opengl, vulkan
Spartanengine
Game engine with an emphasis on architectual quality and performance
Stars: ✭ 869 (+153.35%)
Mutual labels: game-engine, vulkan, imgui
Imguizmo.quat
ImGui GIZMO widget - 3D object manipulator / orientator
Stars: ✭ 187 (-45.48%)
Mutual labels: opengl, vulkan, imgui
Vxr
General purpose engine written in C++ with emphasis on materials rendering (PBR, clear coat, anisotropy, iridescence)
Stars: ✭ 181 (-47.23%)
Mutual labels: game-engine, opengl, imgui
Flextgl
OpenGL and Vulkan header and loader generator.
Stars: ✭ 180 (-47.52%)
Mutual labels: game-engine, opengl, vulkan
Nazaraengine
Nazara Engine is a fast, complete, cross-platform, object-oriented API which can help you in your daily developper life.
Stars: ✭ 279 (-18.66%)
Mutual labels: game-engine, opengl, vulkan
Rust Game Development Frameworks
List of curated frameworks by the **Game Development in Rust** community.
Stars: ✭ 81 (-76.38%)
Mutual labels: ecs, opengl, vulkan
Oreon Engine
OpenGL/Vulkan Java 3D Engine
Stars: ✭ 431 (+25.66%)
Mutual labels: game-engine, opengl, vulkan
Nimgl
NimGL is a Nim library that offers bindings for popular libraries used in computer graphics
Stars: ✭ 218 (-36.44%)
Mutual labels: opengl, vulkan, imgui
Bulllord Engine
lightspeed lightweight elegant game engine in pure c
Stars: ✭ 539 (+57.14%)
Mutual labels: game-engine, opengl, vulkan
Innocenceengine
Cross-platform modern game engine.
Stars: ✭ 149 (-56.56%)
Mutual labels: game-engine, opengl, vulkan
Etengine
Realtime 3D Game-Engine with a focus on space sim. Written in C++ 14
Stars: ✭ 408 (+18.95%)
Mutual labels: ecs, game-engine, opengl
Ashes
Drop-in replacement for Vulkan shared library, for older hardware compatibility
Stars: ✭ 278 (-18.95%)
Mutual labels: opengl, vulkan
Lumos Engine
Cross-platform 2D and 3D Game Engine written in C++ that supports both OpenGL and Vulkan.
Screenshots |
Building |
Features |
Dependencies
Screenshots
Building 🔨
git clone https://github.com/jmorton06/Lumos.git
Linux
sudo apt-get install -y g++-8 libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libopenal-dev mesa-common-dev
cd Lumos
Tools/premake5 gmake2
cd build
make -j8
Windows
Run Scripts/GenerateVS.bat to generate a visual studio project.
cd Lumos
msbuild /p:Platform=x64 /p:Configuration=Release build/Lumos.sln
Mac
cd Lumos
Tools/premake5 xcode4
xcodebuild -project build/Sandbox.xcodeproj
iOS
cd Lumos
Tools/premake5 xcode4 --os=ios
xcodebuild -project build/Sandbox.xcodeproj CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO
To run on apple devices with Vulkan ( MoltenVK ), disable Metal API Validation here : Product > Scheme > Edit Scheme… > Run > Options > Metal API Validation
Features
- Support for Windows, Linux, macOS.
- Support for OpenGL/Vulkan.
- 3D audio using OpenAL.
- Rendering 3D models with deferred PBR shading.
- Debug gui using ImGui
- Custom maths library with simd optimisation.
- 3D collision detection - cuboid/sphere/pyramid.
- 2D collision detection - Box2D.
- Basic lua scripting support.
Contributing
- Contributions are welcome. Both new features and bug fixes. Just open a pull request.
Dependencies
- imgui : Dear ImGui: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies.
- imguizmo : Immediate mode 3D gizmo for scene editing and other controls based on Dear Imgui.
- entt : Fast and reliable entity-component system (ECS)
- glfw : A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input.
- spdlog : Fast C++ logging library.
- stb : Single-file public domain (or MIT licensed) libraries for C/C++.
- tinygltf : Header only C++11 tiny glTF 2.0 library
- tinyobjloader : Tiny but powerful single file wavefront obj loader
- volk : Meta loader for Vulkan API.
- glad : Meta loader for OpenGL API.
- Box2D : 2D physics engine.
- sol2 : C++ <-> Lua API wrapper
- cereal : A C++11 library for serialization
- meshoptimizer : Mesh optimization library that makes meshes smaller and faster to render
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].