2013-12-10 10 views
5

Sto configurando un programma che funziona con glut per funzionare con Qt. Sto usando Qt 5.1.1. e sembra che alcune delle funzionalità openGL siano state perse da Qt4 a Qt5. Nel mio programma creo un QOpenGLContext e sto provando a renderizzare a QWindow con l'uso di un vbo. La parte vbo funziona bene.Attenzione: #warning qopenglfunctions.h non è compatibile con GLEW, GLEW definisce non definito [-Wcpp]

Alcune delle altre parti del programma dipendono da glew. Ricevo il seguente avviso quando eseguo il programma

#warning qopenglfunctions.h is not compatible with GLEW, GLEW defines will be undefined [-Wcpp] 
#warning To use GLEW with Qt, do not include <qopengl.h> or <QOpenGLFunctions> after glew.h [-Wcpp] 

L'output sullo schermo è nero.

Quando ho commentare la riga

glBindBuffer(GL_PIXEL_UNPACK_BUFFER, vboId); 

che invia il PBO alla texture, un'immagine casuale rende allo schermo. Presumo che questa immagine casuale sia memorizzata nella memoria alla quale sto tentando di accedere.

Ovviamente, non è possibile utilizzare insieme le funzioni glew e qopengl.

Se si desidera suggerire di utilizzare un QGLWidget e non un QopenGLContext con una QWindow, spiegami come utilizzare QGLWidget con cmake in Qt 5.1.1. Ho letto numerose risposte che lo suggeriscono, ma nessuno di loro funziona in Qt 5.1.1.

risposta

0

Pubblicare come risposta perché non è sufficiente un commento per commentare.

Per utilizzare GLEW con Qt, non includere <qopengl.h> o <QOpenGLFunctions> dopo glew.h [-Wcpp]

Come l'avviso suggerisce, si dovrebbe omettere le QOpenGLFunctions comprendono direttive a favore del GLEW include.

Modifica: dopo ulteriori ricerche, ha rilevato che QT include l'intestazione QOpenGLFunctions da qualche parte in un file interno. Dovrò testare da solo una soluzione, tornerò.

Modifica: aggiornamento generale e apparentemente le persone hanno erroneamente interpretato questo post come offensivo e maleducato.