Rendern Sie QImage mit OpenGL
Bezogen auf meineandere FrageIch denke die zentralere Frage wäre, wie man einen rendertQImage
mit OpenGL?
Ich denke, der Code muss ungefähr so aussehen, aber ich bin mir nicht sicher, was ich außer vielleicht noch braucheconvertToGLFormat(img)
.
glEnable(GL_TEXTURE_2D);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glGenTextures(1, &offscreenBufferTexture);
glBindTexture(GL_TEXTURE_2D, offscreenBufferTexture);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, imgGL.width(),
imgGL.height(), 0, GL_RGBA, GL_UNSIGNED_BYTE,
imgGL.bits());
glBegin(GL_QUADS);
glTexCoord2d(0,0); glVertex2d(0, 0);
glTexCoord2d(1,0); glVertex2d(windowSize.width(), 0);
glTexCoord2d(1,1); glVertex2d(windowSize.width(), windowSize.height());
glTexCoord2d(0,1); glVertex2d(0, windowSize.height());
glEnd();
glDisable(GL_TEXTURE_2D);
Außerdem dachte ich schnell und dreckig, was du gebrauchen könntestglDrawPixels()
(obwohl du nicht solltest), wie
glDrawPixels(imgGL.width(), imgGL.height(), GL_RGBA,
GL_UNSIGNED_BYTE, imgGL.bits());
Aber so oder so kann ich das Bild nicht sehen, nur ein weißes Quadrat in der Größe. Mir fehlt hier etwas.