обработчики окон для opengl - PullRequest
2 голосов
/ 20 января 2009

Я программировал opengl, используя glut в качестве моего обработчика окон, в последнее время я думал, есть ли какие-либо преимущества для переключения на альтернативный обработчик окон, такой как wxWidgets или qt.

Есть ли какие-то серьезные различия или это просто вопрос вкуса? Так как glut предоставляет некоторые дополнительные функции для opengl-программирования помимо функций обработки окон, будет ли смысл объединять дополнительный инструментарий с glut?

Ответы [ 4 ]

1 голос
/ 20 января 2009

Вам нужно перейти от переизбытка, как только вы захотите более сложные элементы управления и диалогов и т.д.

QT имеет отличный виджет openGL в новостной рассылке также есть интересная статья о элементах управления рисованием поверх GL , дающих классные эффекты стиля WPF.

wxWidgets также поставляется с примером opengl , но я не очень разбираюсь в этом.

1 голос
/ 20 января 2009

Я могу говорить только из опыта использования QT:

После того, как вы настроили базовую структуру, это простой случай выполнения того, что вы всегда делали: например, проект, над которым я сейчас работаю, имеет встроенный виджет gl, встроенный в окно.

Этот виджет имеет такие функции, как initializeGL, resize ... paintGL и т. Д. Преимущества включают возможность передачи переменных в другие окна / виджеты и т. Д. QT также имеет дополнительные функции для обработки щелчков мыши и прочего (отлично подходит для 2d). вещи, 32d вещи требуют более сложной математики)

0 голосов
/ 03 февраля 2009

SDL , хотя и не просто обработчик окон, будет проще использовать OpenGL, чем необработанный код Win32. Тем не менее, мой опыт работы с Qt, GTK и wxWidgets не был слишком плохим ... конечно, не намного лучше, чем Win32, в этом случае, вероятно, дело вкуса.

Я бы порекомендовал избегать виджетов и оболочек, таких как GLUT, если вам нужен хороший уровень контроля над окном и ресурсами, но если вы просто ищете скорость разработки, тогда эти инструменты идеальны.

0 голосов
/ 20 января 2009

Ну что ж - с избытком можно запустить прототип.

Это зависит от ОС, но позже вы можете запретить запуск заставки, возможно, вы захотите отключить переключатель задач (хотя это делают только плохие парни), возможно, вы захотите отреагировать на отключение питания. События. Вы можете обнаружить, что перенасыщение не может справиться с мертвыми ключами в той или иной операционной системе, или, или, или ... Есть тысячи причин, по которым вы можете захотеть избавиться от него.

Это фреймворк, созданный для того, чтобы упростить старт и сделать 90% от обычного, что вам нужно, но он никогда не сможет сделать 100%. Вы всегда можете взломать себя или перенести код инициализации, но однажды вы обнаружите, что проще заново разработать код инициализации и настроить его под свои задачи.

Открытие окна и инициализация OpenGL - не ракетостроение. Используйте перенасыщение, пока оно работает на вас, но как только оно создает проблемы, избавьтесь от него. Это займет у вас всего несколько часов, так что вы не потеряете много.

Для игрушечного проекта перенасыщение - путь.

...