-
Notifications
You must be signed in to change notification settings - Fork 692
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Discussion: Vulkan embedding #3291
Comments
@tomzorz are you asking for Winui support for Vulkan renderer? |
@StephenLPeters No (although that could be cool as well...). More like a Vulkan variant of SwapChainPanel - I guess that might necessitate the rest of the application to render using Vulkan as well? |
But essentially today we just use a HwndHost to embed our Vulkan renderer - if there'd be any improvement over this process that'd be awesome. |
Any updates to this, now that we've got to the preview 3 release? I tried asking @ryandemopoulos during the community standup, but we didn't got to this question. |
@tomzorz do consider Godot 4 with Vulkan renderer. Godot already support export to UWP. It just need to export UWP XAML app instead of UWP console app. |
Have this issue as well. On the vulkan side, the API appears to accept any HWND, in which case, a plausible implementation is merely “a control with an HWND” unfortunately, the only way I know of to get an hwnd is via IWindowNative (only supported on a window). this issue looks related, as I assume you could put any win32 control in that and get its hwnd, although it seems not a priority if anyone knows a cheap back door to get an HWND out of some winui control, that might work for now… |
Yes, support of vulkan would be very nice. I am also looking the way to integrate WinUi with vulkan renderer. I found out that winui uses custom drawing for wide range of controls (without exposing Win32 controls). At the same time vulkan requires |
Is there not a Vulkan extension that allows it to render to a DXGI swapchain? If yes, you could use the existing SwapChainPanel with your Vulkan code. |
I believe the answer is no, spec (large page warning)
While we're enumerating workarounds. The one I'm aware of is to define two separate vulkan / directx pipelines that share a texture ( We tried that, and it does work. But it has many downsides: memory for the texture, IO bandwidth in and out, extra pipeline stage and the general complexity of maintaining two pipelines. For some usecases these are fine but when you set that next to a solution like HwndHost (which solves many other problems besides this one) the difference is clear. |
If you do not want to write your own rendering engine, then you can use the new Ab4d.SharpEngine that uses Vulkan and also supports WinUI 3.0 applications. See the WinUI sample on GitHub. The engine is currently in beta (April 2023). |
This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 7 days. It will be closed if no further activity occurs within 7 days of this comment. |
Discussion: Vulkan embedding
Hi folks,
Our company is currently shipping a WPF application with a Vulkan renderer embedded in it for a 3D LOB application. While this solution works, we have several issues:
Are there any plans for better integration paths, maybe solving some of these airspace issues? We'd love to work together on this - we can definitely provide real life feedback/data on how things currently are.
Thanks,
Tamás
The text was updated successfully, but these errors were encountered: