LiteFX

Modern Computer Graphics Engine

Latest Release GitHub Documentation Wiki

Welcome to LiteFX ✨ - A modern, flexible computer graphics and rendering engine, written in C++23 with support for Vulkan 🌋 and DirectX 12 ❎. It contains an abstraction layer over both graphics APIs, that allows for seamless switching between them, without re-creating the application window. The engine can be configured through a fluent builder interface, making it possible to easily and quickly express render pipeline configurations. It uses CMake and vcpkg to manage dependencies and make it straightforward to build. It supports custom shader targets (written in HLSL or GLSL), allowing you to setup a basic, fully featured rendering application within seconds.

Interested? You can start right now by heading over to the documentation and read the project setup and quick start guides. The source code is available on GitHub.

Designed to make Modern Graphics APIs accessible.

State of the Art

LiteFX supports many state-of-the-art features of modern graphics APIs, such as Mesh Shaders, Raytracing and Indirect Draw. It utilizes features and extensions from the DirectX 12 Agility SDK and Vulkan 1.3 for a better user experience, such as Enhanced Barriers and Dynamic Rendering.

Streamlined API

LiteFX provides a streamlined, object-oriented API that allows for straightforward state management and to quickly setup render graphs. The optional fluent Builder API can be used to configure pipelines, shaders and render passes. Shader Reflection can be used to easily derive pipeline interfaces from shader programs.

CMake Integration

LiteFX provides tools to integrate assets and shaders into your build process, which allows you to manage them next to your sources without leaving your IDE. Shaders can be authored in GLSL and HLSL and can target both supported APIs from a single source.