Linux (fedora 12) で GTK 3 を使用してウィンドウを作成し、その上に cairo-gl バックエンドを使用して単純な四角形を描画したいので、cairo-gl サーフェスを作成します。どうすればこれを行うことができますか、誰でもサンプルコードを手伝ってくれますか?
前もって感謝します。
RC7
まず最初に、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/
レゴブロックをたくさんあげました。次に、それらを組み立てる必要があります。(あるいは、もっと時間があれば誰かがそれをして、ここでより良い答えを書くでしょうか?)