-
Hello, I want to integrate effekseer and until I properly integrate it properly with vsg API. Can I share vulkan context with their renderer? And issue their compute and draw calls while using vsg for the rest of my application? Are there any extension points that I can do this safely? Thanks |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 1 reply
-
You can certainly share the Vulkan instance, device, etc. with non-VSG code. You might look at vsgImGui https://github.com/vsg-dev/vsgImGui for ideas. |
Beta Was this translation helpful? Give feedback.
-
I am not familiar with effekseer so can't comment on the specifics and what challenges so if you can keep us informed of how you get on that would be great. As @timoore mentions vsgImGui integrates ImGui's Vulkan backend with the VSG via a custom RenderImGui node which adapts all the VSG created Vulkan objects into a form that ImGui backend can use: https://github.com/vsg-dev/vsgImGui/blob/master/include/vsgImGui/RenderImGui.h You may want to go a completely different approach, rather than taking a vsg::Window in the constructor for the purposes of getting the required Vulkan related objects, you might just want to get them in your main/setup code pass pass the vk/vsg::Instance & vk/vsg::Device etc. along. A custom vsg::Command ,may well be the neatest way to integrate code into scene graph, for both compute and graphics work. There is a whole bunch of vsg::Command subclasses that provide direct calls to the Vulkan API that may be worth looking at to see how they do things. |
Beta Was this translation helpful? Give feedback.
You can certainly share the Vulkan instance, device, etc. with non-VSG code. You might look at vsgImGui https://github.com/vsg-dev/vsgImGui for ideas.