내 other question과 관련하여 더 중요한 질문은, 어떻게 OpenGL을 사용하여 QImage
을 렌더링하겠습니까?렌더링 QImage with OpenGL
나는이 코드가 이런 식으로 보여야한다고 생각하지만, 내가 어쩌면 convertToGLFormat(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);
또한, 나는 빨리 생각하고 더러운 당신은 사용할 수 glDrawPixels()
(비록 당신은 안)
glDrawPixels(imgGL.width(), imgGL.height(), GL_RGBA,
GL_UNSIGNED_BYTE, imgGL.bits());
좋아하지만, 어느 쪽이든 나는 이미지와 단지 흰색 사각형을 볼 수 없습니다 그것의 크기. 여기 뭔가 빠졌어.
'imgGL'은'GL_RGBA/GL_UNSIGNED_BYTE'와 같은 형식을 가지고 있다는 것을 확인 했습니까? – cmannett85
예,'GLIUNSIGNED_BYTE'를 사용하는'SoOffscreenRenderer' 버퍼에서'QImage'를 생성하고'RGB' 또는'RGBA'를 사용하는 곳에서 설정할 수 있기 때문에 가능합니다. 두 버전 모두 시도했지만 어느 쪽이든 표시하지 않습니다. – Dreiven