Voglio usare Qt 5.4 per creare una finestra e renderizzare con normali funzioni OpenGL alcune cose in quella finestra. Negli ultimi giorni ho letto molto sulle classi Qt e su come inizializzare OpenGL e così via. Penso che le classi principali con cui ho a che fare siano QOpenGLWindow o QOpenGLWidget, ma ci sono anche QSurface e altre classi. Ora sono molto insicuro su cosa fare dopo e su quale classe dovrei usare per usare le normali funzioni OpenGL, più tardi. Qualcuno può spiegare in modo più chiaro a me cosa devo fare per impostare una GUI Qt in cui posso usare OpenGL normale?Come utilizzare OpenGL nativo con Qt 5.4?
Alcune altre domande da parte mia sono:
- A quel punto non Qt creare un contesto OpenGL pianura? Devo usare QOpenGLContext?
- Qual è esattamente la differenza tra una QSurface e una QOpenGLWindow? Nell'esempio QOpenGLWindow vengono utilizzate entrambe le classi.
- È possibile utilizzare glew oltre a questa roba qt? Qui ci sono alcune domande su, che si occupano di configurare glew con qt, ma penso che non ho capito il vero motivo per cui è necessario glew.
Modifica: ho discusso questa domanda con un collega e la nostra unica conclusione era utilizzare il rendering offscreen. Qualcuno conosce un'altra soluzione?
Avete visto [OpenGL Window Exemple] (http://doc.qt.io/qt-5/qtgui-openglwindow-example.html) (anche se non usa la classe 'QOpenGLWindow')? ['QSurface'] (http://doc.qt.io/qt-5/qsurface.html) è una pura classe di base virtuale di' QWindow' e anche di 'QOpenGLWindow'. Apparentemente 'QOpenGLWindow' funziona come' QOpenGLWidget' e 'QOpenGLWidget' [ha una documentazione più completa] (http://doc.qt.io/qt-5/qopenglwidget.html#details). – Leiaz
Esiste anche un esempio QOpenGLWindow fornito con Qt. – peppe