Russian Qt Forum
Ноябрь 23, 2024, 20:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt vs GLUT vs SDL vs WinAPI. Что, по вашему мнению, лучше для OpenGL  (Прочитано 9138 раз)
G-virus
Гость
« : Июнь 23, 2012, 21:34 »

Здравствуйте. В связи с невозможностью для меня решить кое-какие проблемы с Qt + OpenGL, подыскиваю альтернативные возможности отображения графики на OpenGL.

Нашел:
1. WinAPI
2. SDL
3. Qt
4. GLUT
5. GLaux

Субъективное мнение по поводу всего и всея.
Qt - данное средство для создания окна OpenGL и работой с клавиатурой\мышью я выбрал, потому что занимаюсь этим довольно давно, было очень просто разобраться с QGLWidget и т.п. Плюс, очень удобно работать с текстурами благодаря QGLContext::bindTexture() и QImage. Нет необходимости писать свой парсер PNG, JPG, TGA и прочих форматов.
Еще один плюс, но и в то же самое время - лично для меня - минус: я привык работать стандартными функциями OpenGL/Glext и т.п. Безусловно, очень удобен QGLShader и прочее. Проблема лишь в том, что у меня не совсем идеально, мягко говоря, с английским, туго искать инфу, особенно которой мало. (толкового примера по QGLFrameBufferObject я не нашел). Но понадобилось такое расширение, как Frame Buffer Object. При попытке использовать стандартный подход для OpenGL (Библиотека GLEW, GLEXT) почему-то возникают сложности и проблемы, а VBO так вообще не видит расширения ARB_vertex_buffer_object, хотя вывел строку glGetString(GL_EXTENSIONS) и оно там есть. В общем, это немного подталкивает на использование других вещей, хотя в остальном кьют просто идеален.

GLUT - использовал пару раз. Отказался лишь по той причине, что с кьютом работать легче и, так сказать, "роднее". Плюс форматы для GL-окна, антиалиасинг и т.д. у кьюта порадовал. И, может это показалось только мне, на Qt быстрее рендерится графика, чем с помощью GLUT. Неудобно, что нужно самому делать загрузчик с текстурами.

WinAPI - увидел лишь минусы, но, тем не менее, это же напрямую окошко создается, без прослоек Qt и т.п. Минусы: я работаю под линуксом (хотя игру пишу под винду),  и периодически код редактирую и проверяю под кубунтой. Ну не нравится мне виндовоз, а делать надо под него. Второй минус: хуева туча довольно много кода получается.

SDL - недавно узнал об этой вещи. Не могу сказать ни плюсов, ни минусов. Но хотел бы услышать ваше мнение. Знаю, что SDL, как и Qt, может грузить картинки для текстур в формат OpenGL, как и Qt.

GLAUX - не стал даже проверять, так как сказали, что это старая, мертвая и ненужная более библиотека.
Поделитесь своим мнением, кто что использовал, кто на что напоролся и кто на чем остановился.

Спасибо
« Последнее редактирование: Июнь 25, 2012, 22:38 от G-virus » Записан
Disa
Гость
« Ответ #1 : Июнь 25, 2012, 10:29 »

2) Glut малофункционален. В любой книге всегда пишут одно и тоже, что его нужно юзать только либо в академ. кругах, либо для начала обычения с работы на GL. Для текстур (tga) очень просто челать загрузчик через библиотеку soih.

3) WinApi - ну вообще-то вроде норм все, только геммор с первоначальной инициализации (там рулон кода получается). В любом случае есть писать под виндовз, мб выбрать DirectX? Думаю через пару лет уже будет в тренде winRT (вроде обещают что все будет карашо, можно даже сейчас уже чего-нить под metro пописать).

4) GLAUX больше не является частью стандарта (где-то с 2004г).

PS: Наверное можно рассказать про задачу, тогда будет яснее что нужно советовать.
Записан
DmitryM
Гость
« Ответ #2 : Июнь 25, 2012, 11:21 »

Почему Qt vs GLUT, когда их модно использовать одновременно.
Записан
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #3 : Июнь 25, 2012, 12:24 »

посмотри Qt5, там есть кое-что новое относительно OpenGL
Записан
Странник
Гость
« Ответ #4 : Июнь 25, 2012, 12:51 »

посмотри Qt5, там есть кое-что новое относительно OpenGL
Qt3d и к 4.8 прикручивается, вроде бы.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #5 : Июнь 25, 2012, 13:12 »

Так или иначе вопрос не в том "какая OpenGL обертка лучше" а "какую легче интегрировать в UI". Поскольку автоматически предполагается Qt приложение, то вряд ли есть смысл заниматься сращиванием glut с Qt. Наверняка это возможно, но куда проще взять Qt примерчик - и погнал. В смысле возможного портирования (как "не Qt" приложение) - да, все очень мрачно, но то же и со всем UI, так что "семь бед - один ответ".

Поэтому не видно что здесь обсуждать  Улыбающийся
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #6 : Июнь 25, 2012, 14:44 »

Я как то когда еще совсем молод был пробовал использовать SDL, но так как мои познания в OpenGl не сильно обширны, делал всякие примеры и хелловорды, тоже и на Qt. На Qt показалось проще + SDL было тогда сложно под винду собрать, не знаю как сейчас. Думается что на SDL можно будет без труда юзать всякие плюшки плюсовые типа шаблонов, если нужно, под Qt это иногда сложно. Но на Qt опять же сигналы и слоты есть, что достаточно большой плюс, на SDL не видел их, может уже добавили. Насчет всяких интеграций не подскажу, не приходилось ничего прикручивать чего нет в стандартном наборе. Хотя я думаю здесь проблемы не с фреймворком будут связаны, а скорее просто чего то не хватает. 
Записан
G-virus
Гость
« Ответ #7 : Июнь 25, 2012, 22:38 »

То есть все таки разумнее остаться на Qt... ну окей, постараюсь тогда подружить его с GLEW.

Спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.097 секунд. Запросов: 23.