Repository navigation
Replies: 10 comments 6 replies
|
I'm no Qt expert, I learned enough Qt to implement vsgQt, so I'll have to defer to others with more expertise on how best to tackle more niche topics. It not clear to me by what you mean by render VSG in Qt Widget as this is so open ended. Could you provide a screenshot illustration of what you mean? |
|
I don't think it is possible out of box (as of version 6, there is no QVulkanWidget present), will need to make a completely custom widget in qt. somebody did implement QvulkanWidget though: |
|
Think thats how vsgQt works if I am not wrong? Am I missing something?
…On Sat, 1 Jun, 2024, 6:18 pm Rainer Gericke, ***@***.***> wrote:
I had a closer look into the Qt-6.7.1 example projects. There is no
QVulkanWidget indeed, but a QVulkanWindow instance can be also used as a
Widget. So it would be ok to write a class like QVsgWindow (well, somebody
must do it). Her is a shot of one of the QtVulkanWindow examples:
QtVulkanExample.png (view on web)
<https://github.com/vsg-dev/VulkanSceneGraph/assets/31243285/b195acaa-c251-479f-9725-71180aa0ef28>
—
Reply to this email directly, view it on GitHub
<#1189 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AE6DBONVB7VWRO7EF7JTANTZFG7LBAVCNFSM6AAAAABHZNW6W2VHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4TMMRYGU3TQ>
.
You are receiving this because you commented.Message ID:
***@***.***
com>
|
|
Okay, I can see some issue with my wayland implementation as well.
Please share the link if possible or how to find it online.
…On Sat, 1 Jun, 2024, 10:26 pm Rainer Gericke, ***@***.***> wrote:
No, not exactly. One difference is, that vsgQt does not work an macOS due
to weird window pointer issues. The above example works on the Mac. Maybe
we can take some of the vsgQt ideas for a QtVsgWindow class.
—
Reply to this email directly, view it on GitHub
<#1189 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AE6DBOKN7TSRBPNM4VU3SADZFH4KLAVCNFSM6AAAAABHZNW6W2VHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4TMMZQGQYDE>
.
You are receiving this because you commented.Message ID:
***@***.***
com>
|
|
One issue to be aware of with Qt's Vulkan integration ties the vkDevice per Window (and I'd guess Widget) which is a bit like OpenGL's associated of the window with a graphics context. However, this approach prevents sharing a vk/vsg::Device between Windows which is really inefficient for multiple window applications. Far better is to have a vsg::Device per GPU and have all the windows shared as then you can share all the Vulkna objecrts and GPU memory between Windosws. It for this reason I abandoned the use of Qt's Vulkan integration and implemented the Vulkan support in vsgQt using the VSG's native vkSurface support. I don't know if it's possible to create a general purpose Qt Widget which can have a vkSurface created for it, but perhaps the Qt examples might help suggest a way. If not then perhaps one could render to a colour buffer and then copy this to the widget without doing a round trip to the GPU to CPU and back to the GPU. |
|
Hi all - please see vsg-dev/vsgQt#39 (comment) for a possible implementation. As a note - I'll be creating an open-source MIT licensed repo that implements that methodology. @robertosfield - if the experiment/repo proves successful, is there a chance to hold the project upstream under vsg-dev? It would greatly aid in visibility for users. |
|
Currently my inclination is that these solutions would be start with a dedicated vsgQt6 library and if it looks appropriate for inclusion with vsg-dev then I'm open to this. Having this projects be maintained long term is important, I don't have the time and skills to support too many disparate projects if original developers move on. |
|
Hi All, Disadvantages of container: createWindowContainer |


Uh oh!
There was an error while loading. Please reload this page.
Is there any way to render a vsg into a Qt Widget? I was glad to see that there is Qt support provided as vsgQt, but I'd like to render the scene graph in a widget because I want to have a menu bar and various other widgets in the same window.
I don't want the user to see an MDI, but if there's no other way to display a vsg in a widget, is it possible to put it in an MDI area in a single MDI window that is always maximized (within the MDI area) and has no window decorations (title bar, etc.)?
Thanks!
All reactions