A high-performance, multithreaded rendering engine built on Vulkan API with a customizable render graph and cross-platform support.
Pumex is a high-performance rendering engine built on Vulkan API, designed for efficient multithreaded graphics rendering across multiple windows and GPUs. It solves the problem of complex Vulkan setup by providing a structured architecture with a customizable render graph and decoupled update logic, enabling developers to implement custom rendering techniques like deferred rendering or physically based rendering with ease.
Graphics programmers and game developers working on high-performance 3D applications who need fine-grained control over Vulkan rendering pipelines and multithreaded rendering across multiple displays or VR setups.
Developers choose Pumex for its flexible render graph system that doesn't lock them into specific rendering methods, its efficient multithreading capabilities for complex scenes, and its cross-platform support including Android and optional QT integration.
Vulkan library oriented on high speed rendering
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Allows complete implementation of any rendering method, such as deferred or forward, without being locked into predefined pipelines, as demonstrated in the pumexdeferred example.
Supports simultaneous rendering across multiple windows and GPUs, enabling high-performance applications like VR setups shown in the pumexcrowd example.
Runs on Windows, Linux, and Android with optional QT integration, providing broad deployment options as outlined in the building instructions.
Implements instanced rendering with vkCmdDrawIndexedIndirect() to reduce draw calls, improving efficiency for complex scenes as highlighted in the features list.
Requires manual setup of Vulkan SDK, CMake, and multiple dependencies; QT support needs recompilation with Vulkan enabled, making initial configuration difficult, especially on Linux and Android.
As a work in progress, some Vulkan features are not implemented, and the API is subject to change, risking stability for production use, as noted in the future plans section.
Demands deep knowledge of Vulkan and C++ to effectively use the render graph and scene graph layers, with limited beginner-friendly documentation beyond basic tutorials.