Pures OpenGL

Alles rund um die Programmierung mit Qt
Antworten
jiddoo
Beiträge: 4
Registriert: 5. August 2009 09:47

Pures OpenGL

Beitrag von jiddoo »

Hallo,

ich unterrichte Graphikprogrammierung mit OpenGL bin aber auch ein großer Freund des Qt Frameworks. Ich würde Qt gerne verwenden, um mir einen Kontext und ein einfaches OpenGL Window zu erstellen, allerdings würde ich für den gesamten Rest, wie Shader, Texturen und Framebufferobjects, gerne pures OpenGL verwenden und nicht die von Qt angebotenen Klassen.
Ich bin ein wenig durcheinandergekommen mit der Art und Weise wie man OpenGL unter Qt verwendet. Anscheinend muss man von QOpenGLFunctions ableiten, damit die OpenGL Funktionen zur Verfügung stehen, aber wenn ich das richtig sehe, stehen einem dann nur die OpenGL ES 2.0 Funktionen zur Verfügung, ich hätte aber eigentlich gerne eine neuere Version, wie 4.5. Ausserdem kann man dann keine OpenGL Befehle ausserhalb von Klassen verwenden?

Kann mir jemand einen Tipp geben?
Vielen Dank schon einmal im Voraus.
odt
Beiträge: 128
Registriert: 12. August 2010 11:49
Kontaktdaten:

Re: Pures OpenGL

Beitrag von odt »

Guten Morgen Jiddoo

Nein, von QOpenGLFunctions solltest Du nichts ableiten (vererben)!

Eine Variante wäre, eine Klasse von QOpenGLWidget abzuleiten. In deren paintGL kommst Du via QOpenGLContext::curentContext()->functions() an den QOpenGLFunctions. Es bietet einen Teil der OpenGL-Funktionalität an, den Portablen und Plattformübergreifenden. Die native OpenGL-Funktionalität steht aber weiterhin zur Verfügung, evt. die entsprechenden SDK und Headers einbinden.

PS: Ich sehe gerade, dass ein Beispiel in der Doku zu QOpenGLWidget von QWindow und QOpenGLFunctions ableitet. Verschiedenste Wege führen nach Rom, respektive zu einem rotierenden Dreieck auf dem Bildschirm.

Viele Grüsse
Reto
ODT Informatik GmbH, Reto Tschofenig
Antworten