三、GTK4核心对象——GdkGLContext
1 GdkGLContext
创建 GdkGLContext
时候,一般都需要指定 GdkSurface
GdkGLContext
中含有 egl_context
(egl上下文是在渲染的时候创建)
2 GdkGLContext创建分析
-
GdkX11Display
创建了GdkX11GLContextEGL
,整个程序其他的GdkGLContext
都是基于默认显示的上下文创建。 -
GtkWindow
创建了GdkSurface
,程序运行过程中并没有创建GdkSurface->gl_paint_context
(GdkGLContext)。 -
GskRenderer
创建了GdkGLContext
。基于默认显示的上下文,创建的。(这里并不是什么共享的GdkGLContext,仅仅是获取第一步创建的GdkGLContext类型,渲染时候创建egl_context,才是基于第一步创建的egl,创建egl共享上下文)。
3 GdkGLContext创建方式
第一次创建 gdk_x11_display_init_gl
其他共享创建 gdk_display_create_gl_context
gdk_surface_create_gl_context