Current state: The AOV is borrowed (no CPU readback copy), but it’s still a transfer between two command queues (HdStorm render + Qt display).
Questions:
Is there a pattern in the OpenUSD ecosystem for zero-copy AOV display in Qt — i.e., same render pass output consumed directly by Qt’s blit without intermediate queue transfer?
Does HdStorm currently support HDR framebuffers (FP16/FP32 swapchain, tone-mapping)? Is there reference code?
Beyond VK_KHR_external_memory, are there newer interop standards (e.g., VK_KHR_timeline_semaphore for queue synchronization) that would improve this pattern?
I am working on kinda same thing in this project with USD
next video is exporting usda file from the graph (but not reached to AOV yet)
but in this case I am using DirectX and CUDA
I’ll share my experience asap I have found anything useful
I know this is not useful for you, but maybe good to know similaities between renderers to get more idea
Hi,
Did you write your own render delegate, or are you using HdStorm?
My project is still very simple; I’m just studying and learning at this stage.
Could you describe how you integrated Hydra with Qt?
oh, no, the renderer is DirectX12, but I have plan to use hydra as the renderer too (for future), but I’m sure, I had some research about integrating Hydra to Qt, I will share if I could find it
what I am sure is that Maya, Houdini, and Katana integrated hydra in their viewport
but source is not available
but I recommend you to check out the OpenUSD source code and study the usdview (usdviewq) that it is using hydra too, and it should give you some clues, plus it is Qt
Thanks for sharing!
I actually spent some time analyzing the usdview source code and picked up a few good insights from it. The main challenge is that usdview relies on OpenGL, whereas my setup is built on Vulkan.
I ended up leveraging some of Autodesk’s research on their Hydra + Vulkan integration, and I’ve already incorporated HVT into the project to handle gizmos, grids, and viewport utilities.
I’ll keep experimenting with a few alternative approaches. https://youtu.be/GtlJCsg11KA?si=j7X6VtPOXYbyvhbz
Yes, because usdview using usdimaginggl and usdimaginggl control the hydra, it all depends on OpenGL integration
I guess you should think to usdimagingvk (make it yourself) or something like that