GtkGLArea 小部件 (GTK+) 的 Vulkan 等价物是什么?

What is the Vulkan equivalent of the GtkGLArea widget (GTK+)?

背景:我想写一个CAD应用程序。我想用 Vulkan 实现所有渲染。我想使用 GTK+。

我不希望对象的渲染图像有(可见的)不同 window。

所以我研究并找到了 GtkGLArea 小部件,它似乎可以满足我的要求,但适用于 OpenGL。

有没有等价于GTKGLArea的?如果没有,是否有其他方法可以实现我的想法?

有一个 GdkWindow which I believe is behind many Gtk graphic types such as GtkWindow and GtkWidget and obtainable with gtk_*_get_window(). GdkWindow has gdk_window_create_vulkan_context(). With GdkVulkanContext 您可以获得原始 Vulkan 类型,理论上应该能够使用 Vulkan 进行渲染。

大声笑,这是一个简单的技巧,后端使用 X11 和 Xlib_Create_Vulkan_Surface() 在 Gtk+3 上就像它在 Gtk+4 上工作得很好。