2011-05-24 69 views
9

下创建开罗-GL面我想创建一个使用GTK 3 linux下(Fedora 12的)一个窗口,并使用开罗-GL后端上画一个简单的矩形,为了这个,我想创建一个cairo- gl表面。我怎么能做到这一点,任何人都可以帮助我一个示例代码。如何基于GTK

在此先感谢。

RC7

回答

6

那么,首先你需要确保你的开罗版本有gl支持。我不确定Fedora 12中的版本是否适用。你可能需要编译自己的开罗。

然后,你需要看看开罗的gl.h: http://cgit.freedesktop.org/cairo/tree/src/cairo-gl.h

这个文件有一个很好的注释解释说,首先,你需要使用你的GL上下文创建cairo_device,然后把它传递给cairo_gl_surface_create()。

此文件从开罗测试套件包含一个GL表面的一个示例: http://cgit.freedesktop.org/cairo/tree/test/gl-surface-source.c

注意,它包括另一个.c文件.c文件: http://cgit.freedesktop.org/cairo/tree/test/set-source.c

测试套件是充满了开罗编程的例子。用它! :)

我不知道使用GTK3 GL你怎么做,但在最坏的情况下,你可以使用GDK获得X11的显示和窗口的ID,然后使用标准GLX电话: http://developer.gnome.org/gdk3/stable/gdk3-X-Window-System-Interaction.html

而且使用开罗GTK3,你需要看看这个: http://developer.gnome.org/gdk3/stable/gdk3-Cairo-Interaction.html 这: http://zetcode.com/tutorials/cairographicstutorial/

我给你一堆乐高积木的。现在你需要组装它们。 (或者,也许有更多时间的人会这样做,并在此写出更好的答案?)

+1

谢谢。这应该让人们开始。正如你所看到的,这个领域的文档很少。 – 2011-12-14 20:55:02