10

Linux (fedora 12) で GTK 3 を使用してウィンドウを作成し、その上に cairo-gl バックエンドを使用して単純な四角形を描画したいので、cairo-gl サーフェスを作成します。どうすればこれを行うことができますか、誰でもサンプルコードを手伝ってくれますか?

前もって感謝します。

RC7

4

1 に答える 1

7

まず最初に、cairo のバージョンが gl をサポートしていることを確認する必要があります。Fedora 12 のバージョンにそれがあるかどうかはわかりません。独自の cairo をコンパイルする必要がある場合があります。

次に、cairo-gl.h を確認する必要があります: http://cgit.freedesktop.org/cairo/tree/src/cairo-gl.h

このファイルには、まず gl コンテキストを使用して cairo_device を作成し、それを cairo_gl_surface_create() に渡す必要があることを説明する素晴らしいコメントがあります。

cairo テスト スイートのこのファイルには、gl サーフェスの例が含まれています: http://cgit.freedesktop.org/cairo/tree/test/gl-surface-source.c

別の .c ファイルを含む .c ファイルであることに注意してください: http://cgit.freedesktop.org/cairo/tree/test/set-source.c

テスト スイートには、cairo プログラミングの例がたくさんあります。これを使って!:)

GTK3 を使用して GL を行う方法はわかりませんが、最悪の場合、GDK を使用して X11 のディスプレイ ID とウィンドウ ID を取得し、標準の glx 呼び出しを使用できます: http://developer.gnome.org/gdk3/stable /gdk3-X-Window-System-Interaction.html

GTK3 で cairo を使用するには、これを確認する必要があります: http://developer.gnome.org/gdk3/stable/gdk3-Cairo-Interaction.html そして、これ: http://zetcode.com/tutorials/cairographicstutorial/

レゴブロックをたくさんあげました。次に、それらを組み立てる必要があります。(あるいは、もっと時間があれば誰かがそれをして、ここでより良い答えを書くでしょうか?)

于 2011-12-14T13:30:45.957 に答える