类
GdkGLContext
说明 [src]
abstract class Gdk.GLContext : Gdk.DrawContext
{
/* No available fields */
}
GdkGLContext
是一个表示特定于平台的 OpenGL 绘制上下文的对象。
GdkGLContext
是使用 gdk_surface_create_gl_context()
为的表面创建的,并且上下文的特点将与该表面的特点相符。
GdkGLContext
不与任何特定普通帧缓冲区相关联。例如,它不能绘制到表面的后缓冲区。
对 GdkGLContext
的支持是特定于平台的,并且可能导致上下文创建失败,返回 NULL
上下文。
GdkGLContext
必须"当前",才能开始使用它,否则会忽略任何 OpenGL 调用。
创建新 OpenGL 上下文
为了创建一个新的 GdkGLContext
实例,您需要 GdkSurface
,您通常在窗口小部件的实现调用期间会获得它。
在调用 gdk_gl_context_make_current()
或 gdk_gl_context_realize()
之前,GdkGLContext
不会被实现。可以在调用 gdk_surface_create_gl_context()
之后,通过调用 gdk_gl_context_realize()
来指定 GL 上下文的详细信息,例如要使用的 OpenGL 版本,或者是否应当在调用时启用 GL 上下文的额外状态验证。
使用 GdkGLContext
在发出 OpenGL 调用之前,您需要将 GdkGLContext
设置为当前上下文;系统将 OpenGL 命令发送到当前上下文。可以存在多个上下文,因此在发出命令之前,您始终需要确保要用来绘制的上下文是当前上下文
gdk_gl_context_make_current (context);
你现在可以使用 OpenGL 指令执行绘制。
使用 gdk_gl_context_get_current()
检查哪个 GdkGLContext
是当前的;你还可以通过调用 gdk_gl_context_clear_current()
取消设置当前的任何 GdkGLContext
。
实例方法
gdk_gl_context_get_required_version
检索为 context
实现要求设置必需的 OpenGL 版本。即使在实现 context
之后支持并使用了更高版本的 OpenGL,它也不会更改。有关正在使用的实际版本,请参阅 gdk_gl_context_get_version()
。
gdk_gl_context_set_allowed_apis
设置允许的 API。调用 gdk_gl_context_realize()
时,将只尝试允许的 API。如果你将此设置为 0,则实现总是会 失败。
自:4.6
从 GdkDrawContext 继承的方法 (6)
gdk_draw_context_begin_frame
指示你开始在 context
的表面上重新绘制 region
。
已弃用:4.16
gdk_draw_context_end_frame
结束使用 gdk_draw_context_begin_frame() 开始的绘制操作。
已弃用:4.16
gdk_draw_context_get_display
检索为 context
创建的 GdkDisplay
。
gdk_draw_context_get_frame_region
检索当前正在 重新绘制的区域。
已弃用:4.16
gdk_draw_context_get_surface
检索 `context` 所绑定的曲面。
gdk_draw_context_is_in_frame
如果 `context` 正在绘制到其曲面,则返回 `TRUE`。
已弃用:4.16
属性
从 GdkDrawContext (2) 继承的属性
Gdk.DrawContext:display
用于创建 `GdkDrawContext` 的 `GdkDisplay`。
Gdk.DrawContext:surface
上下文所绑定的 `GdkSurface`。
信号
从 GObject (1) 继承的信号
GObject::notify
当对象的某个属性通过 g_object_set_property()、g_object_set() 等方法设置其值时,将针对该对象发出 notify 信号。