2012-12-18 9 views
5

Rozpoczynam nowy projekt aplikacji GUI przy użyciu Qt i OpenGL dla pulpitów Linux/Windows. Moje dotychczasowe założenia: użyj Qt GUI (C++ ... nie QML/QtQuick 2) z OpenGL 4.1 lub nowszym (wymaganie). Po pewnym lekturze kompletnie straciłem orientację, jaką drogę wybrać. Jaka ścieżka sprawi, że moja aplikacja będzie odporna na przyszłość w kontekście wsparcia i bibliotek.Aplikacja Qt 4.x/5.x i OpenGL for Desktop Gui: Jaki moduł wybrać?

Qt 4.x lub Qt 5.x? Standardowe owijacze OpenGL lub QGL lub QOpenGL lub QtOpenGL? QWidget/QGLWidget (Qt 4.x) lub QWindow (Qt 5.x)?

Aplikacja jest przeznaczona do pracy w środowisku graficznym i umożliwia wiele operacji związanych z otwieraniem/zapisywaniem plików (geometrią), obrazami 3D i niektórymi obrazami. Czy ktoś może wskazać mi najlepszą kombinację do wyboru z jakimś wyjaśnieniem, jeśli to możliwe?

Sean Harmer presentation na Qt 5 i OpenGL nie odpowiedzieć na kilka części mojego pytania, ale ja trochę zagubiony, kiedy zaczął używać QML i QtQuick 2. Czułem się QOpenGL był lightweighted wersji do użytku z QtQuick 2. Dokładny Jeśli się mylę, proszę.

Odpowiedz

2

Qt 5.0 jest nadal w wersji beta, więc jeśli projekt jest poważny, powinieneś pójść z qt 4.8, ponieważ jest to najnowsza stabilna wersja. Jednakże, jeśli musisz mieć jakieś funkcje Qt 5.0, nie masz innego wyjścia, jak tylko iść z wersją 5.0.

Po wybraniu Qt powinieneś trzymać się go. Oznacza to użycie QtOpenGL. To nie znaczy, że nie zamierzasz używać standardowego OpenGL. QtOpenGL udostępnia interfejs API upraszczający niektóre wywołania OpenGL i sprawia, że ​​są bardziej zorientowane obiektowo. W końcu OpenGL jest zbiorem funkcji C, a nie zbiorem klas C++.

+0

Dziękuję BЈовић. Dam mu początek z modułem QtOpenGL/Qt 4.8 i przesłać kod do Qt 5.0 (w przyszłości), ponieważ niektóre problemy związane z QtOpenGL mają zostać naprawione w Qt 5.1. – Maiss

+0

Z drugiej strony, jeśli dopiero zaczynasz korzystać z OpenGL i chcesz zrozumieć interfejs API, użyj bezpośrednio interfejsu API. –

+0

@MichaelIV Ale do bezpośredniego użycia API OpenGL, nie używałbym Qt. Użyłbym SDL lub glut do stworzenia okna. –