GtkSharp / GtkSharp

.NET wrapper for Gtk and other related libraries
Other
875 stars 98 forks source link

Vulkan support #356

Closed cylix-lee closed 1 year ago

cylix-lee commented 2 years ago

Hi there and I must say you guys have done a wonderful work! I'm now using GtkSharp in most UI-dependent cases. However I'm currently working with an engine editor-like thing, which needs a component to draw some game stuff. GtkSharp now supports OpenGL by calling Gdk.Window.CreateGLContext(), but I couldn't find an api like gdk_surface_create_vulkan_context() to use Vulkan instead.

Is there any plan to support Vulkan or is there any existing way to use Vulkan? I'll appreciate it if you could take it into consideration.

knuxbbs commented 2 years ago

Take a look on Ryujinx project: https://github.com/Ryujinx. It's a Nintendo Switch emulator who uses GtkSharp and whose maintainers are implementing Vulkan's support.

It's a very interesting use case.

lytico commented 2 years ago

seems that Gkt3 doesn't support Vulkan: https://docs.gtk.org/gdk3/#classes

remark: Vulkan is supported by Gtk4, which is not supported by GtkSharp: https://docs.gtk.org/gdk4/index.html#classes

lytico commented 2 years ago

Take a look on Ryujinx project: https://github.com/Ryujinx.

seems that Ryujinx uses this for vulkan: https://github.com/Thog/SPB/blob/master/SPB/Graphics/Vulkan/VulkanHelper.cs