Skip to content

Al0ha0e/vkEngine

Repository files navigation

vkEngine

vkEngine is a toy game engine currently in development. It uses Vulkan as the rendering backend, integrates JoltPhysics for real-time physics simulation, and embeds CoreCLR as the scripting runtime for C#.

The project is primarily intended as a platform for experimenting with graphics and game development techniques.

Requirements

Build

git clone --recursive https://github.com/Al0ha0e/vkEngine.git
cd vkEngine
conda create -n vkengine python=3.12
conda activate vkengine
pip install -r requirements.txt
mkdir out
scons

SConstruct will also:

  • build csharp/EngineCore
  • build the test gameplay assembly under tests/csharp
  • run the reflection code generator for GameConfig
  • compile the builtin shaders

Run

The build will produce out/engine.exe. The executable expects a single game config json:

./out/engine.exe ./tests/cfg/test_sponza.json
./out/engine.exe ./tests/cfg/test_jolt.json
./out/engine.exe ./tests/cfg/test_anim.json
./out/engine.exe ./tests/cfg/test_env.json

Third Party Libraries

Roadmap

  • Frame Graph:
    • support for multiple queue families
    • transient resource allocation
  • Rendering:
    • cluster-based deferred rendering & PBR
    • directional/spot/point lights
    • UI rendering
    • IBL
    • shadow mapping
  • Scripting:
    • CoreCLR integration
    • python-based preprocessing tool to generate metadata

About

vkEngine is a toy game engine built with Vulkan

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors