Как присоединиться к этим двум вещам? Как создать виджет (или любой холст) для рисования в нем из другого потока?GTK # и библиотеки OpenTK
ответ
Вы можете отредактировать один из примеров в исходном загружаемом файле OpenTk, чтобы иметь окно GTK # и OpenTK Gamewindow в том же приложении.
Скачать источник OpenTK здесь: http://sourceforge.net/projects/opentk/files/latest/download
Во-первых, убедитесь, что примеры работы путем создания и запуска примеров. Попробуйте использовать многопоточность OpenTK специально, это должно дать вам два окна с вращающимися кубами.
Теперь отредактируйте пример, чтобы отобразить окно gtk # вместо второго раскрывающегося списка openTK.
Открыть файл opentk/Source/Примеры/OpenTK/Test/Multithreading.cs
Вам нужно будет сделать функцию, чтобы создать окно GTK, как и
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();
}
Теперь редактируем основной петля для запуска этого окна, например, так:
// 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 для OpenTK и GTK # надежным?
- 2. GTK Portability - Linux-библиотеки
- 3. Добавление библиотеки GTK в CLion
- 4. Какие-нибудь хорошие библиотеки Gtk?
- 5. Skinning with Assimp.Net и OpenTK
- 6. разница между openTK и cloo?
- 7. Ссылка, с которой функционируют библиотеки для GTK?
- 8. Как использовать графическую карту библиотеки Gtk
- 9. OpenTK keypress?
- 10. OpenTK многопоточность?
- 11. Как взаимодействуют библиотеки GTK + и OpenGL на одном сервере X?
- 12. OpenTK Camera in C#
- 13. Python и Gtk - какая версия GTK используется?
- 14. C++, GTK + и String типы
- 15. C# OpenTK - Textured Quad
- 16. opentk glcontrol авто рендеринг?
- 17. Изменение разрешения в OpenTK
- 18. OpenTk с F # вопрос ("пространство имен или модуль OpenTK)
- 19. Ошибка OpenTK GenFramebuffers
- 20. OpenTK неправильный отбраковка объектов
- 21. OpenTK OpenGL Текст чертежа
- 22. OpenGL/OpenTK - Несколько фреймбуфера
- 23. воспроизведение звука в openTK
- 24. Перевод объекта в OpenTK
- 25. Загрузить png с OpenTK и MonoDroid
- 26. OpenTK - VBO и Mesh, исключение памяти
- 27. OpenTK (OpenGL) правильное использование BufferData и BufferSubData
- 28. SHA256 хеширование с C# и openTK
- 29. Тип исключения инициализатора OpenTK и monogame
- 30. OpenTK мыши выбирая
Это зависит от того, что вы пытаетесь выполнить. Вы можете просто визуализировать материал в OpenTK, передать указатель на окно GTK # и сделать его рендеринг. Есть много способов объединить эти две библиотеки, но многопоточность будет довольно сложной, так как вам придется останавливать контекст OpenGL для рендеринга с помощью GTK #. –
@Robert Rouhani Покажите мне хотя бы один из способов, пожалуйста. – itun