skaarj1989 / SupernovaEngine

An experimental game engine.
MIT License
142 stars 6 forks source link
cpp23 deferred-shading entity-component-system framegraph game-development game-engine-3d ibl light-propagation-volumes lua-scripting material-graph pbr rendergraph vulkan

Supernova Engine

CodeFactor GitHub

An experimental game engine.

video

Scene Editor   Scene Editor

Screenshots

Scene Editor w/ Script Editor   Material Editor (surface)

Material Editor (surface)   Material Editor (post process)

Material Editor (post process)

Platforms

Features

Building

Requires CMake 3.26 and vcpkg

> git clone --recurse-submodules https://github.com/skaarj1989/SupernovaEngine.git
> cd SupernovaEngine
> cmake -S . -B build

vcpkg

> git clone https://github.com/microsoft/vcpkg
> ./vcpkg/bootstrap-vcpkg.bat

Add the following environment variables:

VCPKG_ROOT=path_to_vcpkg
VCPKG_DEFAULT_TRIPLET=x64-windows

Install dependencies:

> vcpkg install entt minizip robin-hood-hashing glm spdlog nlohmann-json cereal glslang spirv-cross ktx[vulkan] stb openal-soft libvorbis libogg lua argparse meshoptimizer boost-graph freetype catch2

Linux packages:

> sudo apt install libxcb-util-dev libxcb-icccm4-dev libxcb-ewmh-dev libxcb-xfixes0-dev libxcb-keysyms1-dev libxcb-randr0-dev libx11-xcb-dev

Third-party

Lua annotations for Visual Studio Code

  1. Install Lua Language Server
  2. Add path to annotations
    • File -> Preferences -> Settings Lua.workspace.library -> Add Item
    • or run: InstallAnnotations.bat (requires yq)

Acknowledgements

License

MIT