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.
With support for state of the art rendering technqiues.

Bindless Rendering
LiteFX supports descriptor indexing in unbounded descriptor arrays, which enables bind-less rendering techniques. Using those, it is straightforward to put object or material information in a common buffer and pass the non-uniform index as part of a push constant, instance index or any other means to the GPU. This makes managing large dynamic scenes accessible. LiteFX takes care of managing the descriptors, so that you can work with the same interface on both sides: in you shaders as well as your application.
Hardware Raytracing
The engine provides an abstraction layer over hardware-accelerated ray-tracing workflows, including traditional ray-tracing pipelines, inline ray-tracing and ray queries as well as for managing and compacting acceleration structures. As with the other features, LiteFX is agnostic with regards to the graphics API you want to use. Setup rendering once and switch between backends at run-time.


Indirect Rendering
Some workloads differ vastly between different graphics APIs. One such example is indirect rendering. LiteFX provides a comprehensive abstraction for this, using shader model 6.8 to resolve fundamental architectural differences. As with the other features, this makes it easy to write portable applications that can execute on different graphics backends based on the same compatible code base.
… and there’s more! Check out the samples available on GitHub!