Big QPixmaps вылетает с OpenGL - PullRequest
       11

Big QPixmaps вылетает с OpenGL

0 голосов
/ 27 октября 2010

Я программирую QGraphicsView, в котором много изображений. Но когда я отображаю JPEG с разрешением 8528 x 1128 px (изображение панорамы), QGraphicsPixmapItem не рендерится. Он просто отображает черный квадрат. Изображения «нормального» размера отдают хорошо. Я не пытался найти «предел магии», для каких размеров возникает проблема.

На моем ноутбуке с Ubuntu 10.10 x64 также происходит сбой драйвера графической карты и перезапускается сеанс Gnome!

Все работает нормально, если я отключаю OpenGL.

Почему? Что я могу сделать?

Я обнаружил, что у другого была очень похожая проблема: http://www.qtforum.org/article/34238/really-strange-problem-with-qgraphicsview-and-opengl.html

1 Ответ

3 голосов
/ 27 октября 2010

Убедитесь, что это возвращает что-то большее, чем 8528 в вашей реализации OpenGL:

GLint texSize;
glGetIntegerv(GL_MAX_TEXTURE_SIZE, &texSize);

Если этого не произойдет, вам придется прибегнуть к какой-либо системе мозаичного рендеринга, чтобы вы могли разместить все данные вашего изображения в текстурах меньше максимального размера.

...