我在QT應用程序中使用OpenGL。在某些時候,我正在渲染一個QGLPixelBuffer。我需要得到圖像的深度緩衝區,我通常用glReadPixels(...,GL_DEPTH_COMPONENT,...)完成的;我試圖使QGLPixelBuffer目前,然後使用glReadPixels(),但我得到的是一個白色的圖像。從QGLPixelBuffer獲取深度緩衝區
這裏是我的代碼
bufferCanvas->makeCurrent();
[ ...render... ]
QImage snapshot(QSize(_lastWidth, _lastHeight), QImage::Format_Indexed8);
glReadPixels(0, 0, _lastWidth, _lastHeight, GL_DEPTH_COMPONENT, GL_UNSIGNED_BYTE, snapshot.bits());
snapshot.save("depth.bmp");
任何明顯的錯誤呢?