SkillAgentSearch skills...

SupernovaEngine

An experimental game engine.

Install / Use

/learn @skaarj1989/SupernovaEngine

README

Supernova Engine

CodeFactor GitHub

An experimental game engine.

<p align="center"> <a href="https://www.youtube.com/watch?v=fiBuw6h64BQ"> <img width="49%" src="https://img.youtube.com/vi/fiBuw6h64BQ/0.jpg" alt="video"/> </a> </p> <p align="center"> <img width="49%" src="media/se01.png" alt="Scene Editor"/> &nbsp; <img width="49%" src="media/se02.png" alt="Scene Editor"/> </p> <details><summary><b>Screenshots</b></summary> <p align="center"> <img width="49%" src="media/se03.png" alt="Scene Editor w/ Script Editor"/> &nbsp; <img width="49%" src="media/me01.png" alt="Material Editor (surface)"/> </p> <p align="center"> <img width="49%" src="media/me02.png" alt="Material Editor (surface)"/> &nbsp; <img width="49%" src="media/me03.png" alt="Material Editor (post process)"/> </p> <img src="media/fg.svg" alt="Material Editor (post process)" alt="FrameGraph"/> </details>

Platforms

  • Windows 10 / Visual Studio 2022
  • Ubuntu 22.04 / GCC 13.1.0

Features

  • Entity Component System (EnTT)
  • Renderer (Vulkan w/ FrameGraph):
    • Forward/Deferred Shading PBR + IBL
    • Weighted Blended OIT
    • Lighting and shadows (Tiled Culling):
      • Directional lights (w/ CSM)
      • Point lights
      • Spot lights
    • Decals
    • Skinning
    • Skybox
    • Global Illumination (LPV)
    • SSAO
    • SSR
    • Eye Adaptation
    • Bloom
    • Tonemapping
    • FXAA
    • Customizable materials (surface and postprocess)
    • Custom mesh format (w/ assimp exporter)
  • Physics (Jolt)
    • Rigid bodies
    • Character controller
  • Skeletal animations (ozz-animation)
  • Audio (OpenAL Soft)
    • Playback/Streaming (.wav, .ogg)
  • Lua scripting (sol2)
  • Material Editor (imgui w/ imnodes)

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

View on GitHub
GitHub Stars194
CategoryDevelopment
Updated6d ago
Forks17

Languages

C++

Security Score

100/100

Audited on Mar 23, 2026

No findings