Я создаю средство просмотра изображений с помощью openGL, и я столкнулся с ситуацией, когда мне нужно загрузить очень большие (> 50 МБ) изображения для просмотра. Я загружаю изображения в виде текстур и отображаю их в GL_QUAD, который отлично работает для меньших изображений, но на больших изображениях загрузка не получается, и я получаю пустой прямоугольник. До сих пор я реализовал очень уродливый взлом, который использует другую программу для преобразования изображений в меньшие версии с более низким разрешением, которые можно загрузить, но я ищу более элегантное решение. Я обнаружил, что у openGL есть texture compression feature, но я не могу заставить его работать. Когда я называюКак использовать сжатие текстуры в openGL?
glTexImage2D(GL_TEXTURE_2D, 0, GL_COMPRESSED_RGBA_ARB, t.width(), t.height(), 0, GL_RGBA, GL_UNSIGNED_BYTE, t.bits());
Я получаю ошибку компилятора "GL_COMPRESSED_RGBA_ARB необъявленных". Что я делаю не так? Есть ли библиотека, которую я пропускаю? И в целом, это жизнеспособное решение моей проблемы?
Я использую Qt Creator на компьютере с Windows Vista с графической картой NVIDIA Quadro FX 1700.
Изображения от 10 000 до 30 000 пикселей на каждую сторону. –
Да, драйверы вашей карты, скорее всего, не смогут справиться с этим разрешением, поэтому лучше всего разбить их на более мелкие изображения. –