OpenGL und QT



  • Hallo,

    ich studiere Informatik und wir haben seit kurzem mit OpenGL angefangen. Nun möchte ich bald anfangen eine "kleine" graphics/game engine zu programmieren und sammele momentan Informationen.

    Wir benutzen im Moment GLUT für Window und Inputmanagement. Jedoch weiß ich das GLUT nur zum Lernen verwendet wird.

    Seit kurzem habe ich mit QT5 angefangen und kleine Testprogramme mit OpenGL und QT erstellt.

    Zu meiner eigentlichen Frage: (Eine folge Frage von http://stackoverflow.com/questions/13892384/qt-and-opengl-for-game-development)

    Ich habe momentan 3 alternativen für Windowmanagement. GLFW, SDL und QT.
    Nun wurde mir gesagt QT wäre nicht all zu effizient, da es eine Eventloop hat.( Im direkten Vergleich zu GLFW/SDL)

    Stimmt das?



  • kantaki schrieb:

    Ich habe momentan 3 alternativen für Windowmanagement. GLFW, SDL und QT.
    Nun wurde mir gesagt QT wäre nicht all zu effizient, da es eine Eventloop hat.( Im direkten Vergleich zu GLFW/SDL)

    Stimmt das?

    Es stimmt, dass QT eine Eventloop hat - genauso wie GLFW, SDL und auch die darunterliegende Win32- oder X11-Api.
    Daran laesst sich die Effizienz also nicht festlegen.

    Wenn man ein QGLWidget ueber die Eventloop updatet, kriegt man problemlos mehrere hundert FPS hin.

    Insbesondere wenn Du neben dem OpenGL-Output noch weitere Widgets (Buttons, Slider, Editoren, etc) verwendet willst, waere Qt sogar geeigneter als die beiden anderen Apis.



  • hellihjb schrieb:

    Insbesondere wenn Du neben dem OpenGL-Output noch weitere Widgets (Buttons, Slider, Editoren, etc) verwendet willst, waere Qt sogar geeigneter als die beiden anderen Apis.

    Gerade deswegen möchte ich QT benutzen. Es bietet mir einfach sehr viel, ist dazu noch einfach zu benutzen und absolut perfekt dokumentiert.

    Ich hatte allerdings nichts über "Performance" gefunden und war deswegen ein wenig skeptisch.



  • Du kannst problem Qt nehmen - ich habe selber vor einiger Zeit eine einfache Engine angefangen (bzw. neu angefangen) und war auf die gleiche Frage gestoßen. Und hab mich für Qt entschieden. Es ist halt relativ modern und wird weiterentwickelt, gut dokumentiert, und hat einen sehr großen Umfang an Klassen, die einem viel Arbeit abnehmen und bietet dabei halt auch schon einige Hilfsklassen für OpenGL, bspw. Bilder in eine Textur umwandeln, oder Laden von Shadern.
    Ich habe zwar keine Vergleichstest, aber über irgendwelche Performanceprobleme kann ich mich nicht beschweren. OpenGL selber ist es ja egal, worin es zeichnet. Mehrere Tausend Objekte mit 60FPS darzustellen war bisher kein Problem. Und du musst das Signal/Slot System ja nicht für die Spielmechanik nutzen.


Anmelden zum Antworten