この2つの方法に参加するには?別のスレッドからウィジェットを描画するウィジェット(またはキャンバス)を作成するにはどうすればいいですか?GTK#&OpenTKライブラリ
-1
A
答えて
2
OpenTkソースダウンロードの例の1つをここで編集して、GTK#ウィンドウとOpenTK Gamewindowを同じアプリケーションに含めることができます。
ここOpenTKソースをダウンロードしてください: http://sourceforge.net/projects/opentk/files/latest/download
まず、例の例を構築し、実行することによって動作することを確認してください。 OpenTKマルチスレッドを具体的に試してみてください。キューブを回転させた2つのウィンドウが表示されます。
ここで、2番目のopenTK gamewindowの代わりにgtk#ウィンドウをスポーンする例を編集します。
ファイルを開くopentk /ソース/例/ OpenTK /テスト/ Multithreading.cs
ので
static void gtkWindow() {
Application.Init();
var gtkform = new Gtk.Window("test");
var btn = new Gtk.Button("flip");
btn.Clicked += HandleBtnClicked;
gtkform.Add(btn);
gtkform.ShowAll();
Application.Run();
}
今すぐメインの編集のようなあなたは、gtkのウィンドウを作成する機能を加える必要がありますこのウィンドウを起動するループは、そのよう:
// launch threads
for (int i = 0; i < ThreadCount; i++)
{
if (i == 0) {
Thread t = new Thread(RunGame);
t.IsBackground = true;
t.Priority = ThreadPriority.BelowNormal;
t.Start();
threads.Add(t);
} else {
Thread t = new Thread(gtkWindow);
t.IsBackground = true;
t.Priority = ThreadPriority.BelowNormal;
t.Start();
threads.Add(t);
}
}
あなたは今、同じアプリケーションでのGtk#ウィンドウとOpenTKゲームの窓が付いています。
関連する問題
- 1. GLWidget for OpenTKとGTK#は信頼できますか?
- 2. OpenTKテキストアニメーション
- 3. OpenTKステンシルバッファ
- 4. OpenTKサークルローテーション
- 5. 私はGTKライブラリにはかなり新しいですGTK +
- 6. WindowsでのGTK +ライブラリの静的リンク
- 7. OpenTK - VBO - アプリケーションクラッシュ
- 8. VB.NETのOpenTK(OpenGL)
- 9. MonoTouch OpenTKとUniformMatrix4
- 10. C#OpenTK - Textured Quad
- 11. OpenTK OpenGL図面テキスト
- 12. ヘッダファイル(例:GTK/gtk.h VS GTK-2.0/GTK/gtk.h)
- 13. ライブラリ間の関係:クラッタ、Cogl、クラッタ、GTK +など
- 14. Ubuntu:SWT AppがGTKライブラリをロードできない
- 15. OpenGL、GTK、QTライブラリの違いは何ですか?
- 16. GTK
- 17. OpenTKとMonoDroidでpngをロードする
- 18. OpenTKキーを押しますか?
- 19. OpenTKにテキストを書き込む
- 20. OpenTK - VBOの透過性問題
- 21. C#。 OpenTKと同じコードですか?
- 22. OpenTKを使用したC#コード
- 23. Gtk#/ gtk-sharpのコンテキストメニューを模倣する
- 24. gtkウィジェットをgtkテキストビュー内に固定
- 25. gtkツリービューシングルクリックコールバック
- 26. GTKデータバインディング
- 27. Gtk、ランタイムメニュー
- 28. GTK:チェックボタン
- 29. GTKエントリタイピングシグナル
- 30. Declarative GTK
これは達成しようとしていることによって異なります。あなたはOpenTKのものをレンダリングし、ウィンドウポインタをGTK#に渡してレンダリングさせることができます。これらの2つのライブラリを組み合わせる方法はたくさんありますが、GTK#でレンダリングするにはOpenGLコンテキストをストールする必要があるため、マルチスレッドはかなり難しいでしょう。 –
@Robert Rouhani私に少なくとも一つの方法を教えてください。 – itun