jmorton06 / Lumos

Cross-Platform C++ 2D/3D game engine
MIT License
1.28k stars 140 forks source link
cpp17 ecs game-engine imgui linux macos opengl premake vulkan windows

Lumos Engine

Cross-platform 2D and 3D Game Engine written in C++ that supports both OpenGL and Vulkan.

Screenshots | Building | Features | Dependencies

Build platforms license
stars release Discord

#

Screenshots

Lumos Lumos Lumos Lumos #

Building 🔨

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

Install 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 -j8 # config=release

Windows

Run Scripts/GenerateVS.bat to generate a visual studio project.

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

Mac

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

M1/M2/M3 Macs may need :

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

To run on apple devices with Vulkan ( MoltenVK ), disable Metal API Validation here : Product > Scheme > Edit Scheme… > Run > Options > Metal API Validation #

Features