Vuk
vuk - A rendergraph-based abstraction for Vulkan
Install / Use
/learn @martty/VukREADME

vuk - A rendergraph-based abstraction for Vulkan
Quick Start
- Grab the vuk repository
- Compile the examples
- Run the example browser and get a feel for the library
git clone http://github.com/martty/vuk
cd vuk
git submodule init
git submodule update --recursive
mkdir build
cd build
mkdir debug
cd debug
cmake ../.. -G Ninja -DVUK_BUILD_EXAMPLES=ON -DVUK_USE_DXC=OFF
cmake --build .
./vuk_all_examples
(if building with a multi-config generator, do not make the debug folder)
Overview of using vuk
- Initialize your window(s) and Vulkan device
- Create a
vuk::Runtimeobject - Each frame:
- Each frame, prepare high level description of your rendering, in the form of
vuk::Pass - Bind concrete resources as inputs and outputs
- Bind managed resources (temporary resources used by the rendergraph)
- Record the execution your rendergraph into a command buffer
- Submit and present
What does vuk do
- [x] Automatically deduces renderpasses, subpasses and framebuffers
- [x] with all the synchronization handled for you
- [x] including buffers
- [x] images
- [x] and rendertargets.
- [x] for multiple queues
- [ ] using fine grained synchronization when possible (events)
- [x] Automatically transitions images into proper layouts
- [x] for renderpasses
- [x] and commands outside of renderpasses (eg. blitting).
- [x] Automates pipeline creation with
- [x] optionally compiling your shaders at runtime using shaderc
- [x] pipeline layouts and
- [x] descriptor set layouts
- [x] by reflecting your shaders
- [x] and deducing parameters based on renderpass and framebuffer.
- [x] Automates resource binding with hashmaps, reducing descriptor set allocations and updates.
- [x] Handles temporary allocations for a frame
- [x] Handles long-term allocations with RAII handles
- [x] Comes with lots of sugar to simplify common operations, but still exposing the full Vulkan interface:
- [x] Matching viewport/scissor dimensions to attachment sizes
- [x] Simplified vertex format specification
- [x] Blend presets
- [x] Directly writable mapped UBOs
- [x] Automatic management of multisampling
- [x] Helps debugging by naming the internal resources
- [x] dear imgui integration code
Related Skills
node-connect
341.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
341.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.4kCommit, push, and open a PR
