Work in progress.
On input takes vktrace file.
On output can produce:
- C++ code with raw Vulkan API calls.
- optimized trace for Vulkan API calls.
- trace for Vulkan-EZ (somewhen)
- trace for OpenGL 4.6 API calls. (somewhen)
- trace for FrameGraph API calls. (WIP)
- graphviz dot file or png.
Features:
- device and swapchain creation overrided for portability.
- memory allocation overrided for portability.
- indirect swapchain add ability to resize window.
Also see console application examples here.
Generate project with CMake and build.
Required C++17 standard support.
All required dependencies will be downloaded at build time, as cmake external project.
Dependencies:
Vulkan-Headers - required for vktrace.
Vulkan-Loader - required for vktrace.
glslang - required for Vulkan-ValidationLayers.
Vulkan-ValidationLayers - required for vktrace.
Vulkan-Tools - required for vktrace.
LunarG VulkanTools - required, only for vktrace headers.
FrameGraph - only VulkanLoader and Framework projects are required + their dependencies.
brotli - optional, for trace and data compression.
graphviz - (optional) must be installed for converting .dot to .png/.pdf/other