Rss

C++ Engine/Platform Backend

Platform Backend (QuickGFX)

Originally named “QuickGFX” out of a desire for an improved, re-usable Vulkan framework for graphics projects development, this C++ framework has grown in scope and aims to provide a more comprehensive abstraction of various platform and API specific systems (graphics, audio, input etc.). At present it is geared towards Windows development using the Vulkan graphics API, though the code design helps facilitate different back ends, such as the work in progress OpenGL graphics alternative. 

QuickGFX also includes a shader building tool for compiling shaders for multiple graphics APIs. The tool outputs JSON files which contain the compiled shader code for each platform, as well as a breakdown of shader inputs, outputs and properties. Shader variations can be specified using a JSON header in the source files, allowing reuse of code when variations of a shader are needed, for instance when creating a shader that could be used for forward rendering, G-Buffer population and shadow map rendering depending on the circumstance.

Latest Source Code

 

Game Engine

Built on top of the “QuickGFX” framework, this is a 3D engine for games and other projects which handles data-driven scenes, logic and rendering and can also be extended with project specific code. Primary lighting and 3D geometry rendering can be done using a deferred rendering pipeline, with forward rendering also available when needed for features such as transparency, text and other UI. 

Maintained alongside the engine itself is an examples project that is used to test and demonstrate new features. Also included is a config driven build tool for easy handling of the code and asset building.

Latest Source Code  Example Project Assets