Wie rende ich ein Dreieck in QOpenGLWidget?

7

Ich versuche OpenGL in Qt mit QOpenGLWidget zu verwenden, aber es fällt mir schwer, relevante Beispiele zu finden. Ich bin neu bei OpenGL, also versuche ich zu lernen, wie man es benutzt, aber die Tutorials, die ich finde, scheinen in QOpenGLWidget nicht besonders gut zu sein. Gerade jetzt möchte ich nur ein Dreieck rendern.

Hier ist was ich bisher habe.

Kopfzeile:

%Vor%

Klasse:

%Vor%

Gibt es ein Beispiel, mit dem ich ein einfaches Dreieck rendern könnte? Ich habe den von hier aus versucht: Ссылка , aber es hat viele Fehler verursacht, die ich nicht konnte. t trainieren.

Ich weiß auch nicht, wie OpenGL-Kontexte in QOpenGLWidget funktionieren.

* EDIT: Es stellt sich also heraus, dass die Beispiele ein separates Paket auf meiner Distribution (Arch Linux) waren. Ich war in der Lage, sie zu installieren, und es sieht so aus, als gäbe es genug, um loszulegen.

Danke für Ihre Hilfe!

    
inefarius 20.07.2015, 17:25
quelle

1 Antwort

20

Wenn Sie QOpenGLWidget nicht QGLWidget verwenden möchten, dann ist dies der richtige Weg.

Öffnen Sie Qt Creator und wählen Sie Qt Widgets-Anwendung. Fügen Sie Widget hinzu und drücken Sie die Taste wie folgt

main.cpp

%Vor%

mainwindow.cpp

%Vor%

mainwindow.h

%Vor%

Fügen Sie nun neue Klasse hinzu und nennen Sie sie OGLWidget , die von QOpenGLWidget

geerbt werden soll

oglwidget.h

%Vor%

oglwidget.cpp

%Vor%

Gehe nun zurück zum Formular und klicke mit der rechten Maustaste auf das Widget. Wählen Sie heraufgestufte Widgets aus, und geben Sie den Namen der heraufgestuften Klasse ein OGLWidget . Klicken Sie auf den Hinzufügen-Button und dann auf "Hochladen". Klicken Sie nun auf den Hintergrund und gehen Sie zu seinen Eigenschaften und ändern Sie windowModality zu ApplicationModel.

und das ist das Ergebnis, das Sie erhalten sollten

Die Datei .pro ist

%Vor%     
CroCo 20.07.2015, 19:38
quelle