nixp.ru v3.0

26 ноября 2024,
вторник,
13:53:30 MSK

15 октября 2014, 09:29

Графический тулкит GTK+ 3.16 получит встроенную поддержку OpenGL

1
Александр Ларссон, добавивший OpenGL в GTK+
Александр Ларссон, добавивший OpenGL в GTK+
Иллюстрация с сайта Dsek.Se

Авторы графического тулкита GTK+ сообщили о реализации встроенной поддержки OpenGL в грядущем релизе GTK+ 3.16.

Как сообщают разработчики, поддержка OpenGL будет доступна как для X11 (GLX), так и для Wayland (EGL). Соответствующий компонент в GDK добавил Александр Ларссон (Alexander Larsson): GdkGLContext позволяет обернуть контекст OpenGL в конкретное нативное окно. Он также предоставляет для GDK инструментарий OpenGL для прорисовки любых элементов. Как только кто-то создаёт контекст OpenGL для нативного окна, создаётся «контекст рисования» для GdkWindow и происходите переключение на GL для его прорисовки.

Александр Ларссон объясняет: прорисовка работает так, что все контексты клиента GL записываются в закадровый буфер вместо того, чтобы напрямую записываться в задний буфер, а также для того, чтобы что-нибудь попало на окно, задействуется gdk_cairo_draw_from_gl() для прорисовки части этого буфера в контексте прорисовки Cairo. В качестве запасного варианта (при перенаправлении отрисовки или применении ряда эффектов, вроде cairo_push_group()) буфер GL считывается обратно в память и композитинг задействует Cairo. Это означает, что рендеринг GL работает во всех случаях, включая прорисовку PDF-документов. Однако работает это не особенно быстро.

Помимо GLX в X11, Александр также добавил поддержку OpenGL в Wayland и виджет GtkGLAreaWidget, обеспечивающий поддержку отрисовки областей OpenGL в приложениях на основе GTK+. Все эти возможности появятся с выходом GTK+ 3.16 и GNOME 3.16 в марте 2015 года.

Постоянная ссылка к новости: http://www.nixp.ru/news/12854.html. Никита Лялин по материалам phoronix.com.

fb twitter vk