Big QPixmaps与OpenGL崩溃

时间:2010-10-27 12:08:26

标签: qt opengl qgraphicsview

我正在编写一个包含大量图像的QGraphicsView。但是当我显示分辨率为8528 x 1128像素(全景图像)的JPEG时,QGraphicsPixmapItem不会渲染。它只显示一个黑色方块。 “正常”尺寸的图像呈现良好。我没有试图找出问题发生的大小的“魔力极限”。

在使用Ubuntu 10.10 x64的笔记本电脑上,它还会破坏显卡驱动程序并重新启动Gnome会话!

如果禁用OpenGL,一切正常。

为什么呢?我有什么可以做的吗?

我发现另一个问题非常类似:http://www.qtforum.org/article/34238/really-strange-problem-with-qgraphicsview-and-opengl.html

1 个答案:

答案 0 :(得分:3)

确保在OpenGL实现上返回大于8528的内容:

GLint texSize;
glGetIntegerv(GL_MAX_TEXTURE_SIZE, &texSize);

如果不是这样,您将不得不求助于某种平铺渲染系统,这样您就可以将所有图像数据放入小于最大尺寸的纹理中。