背景:我想写一个CAD应用程序。我想用Vulkan实现所有渲染。我想使用GTK +。
我不想要一个(可见的)不同的窗口来渲染对象的渲染图像。
所以我研究并找到了GtkGLArea
小部件,它似乎做了我想要的,但对于OpenGL。
是否等同于GTKGLArea
?如果没有,是否有其他方式来实现我所想的?
答案 0 :(得分:3)
我认为有一个GdkWindow
支持许多Gtk图形类型,例如GtkWindow
和GtkWidget
,可以通过gtk_*_get_window()
获得。 GdkWindow
有gdk_window_create_vulkan_context()
。使用GdkVulkanContext
,您可以获得原始的Vulkan类型,理论上应该能够使用Vulkan进行渲染。
答案 1 :(得分:0)
哈哈,这是一个简单的技巧,后端使用 X11 和 Xlib_Create_Vulkan_Surface()
在 Gtk+3 上就像它在 Gtk+4 上工作得很好一样。