我正在製作一個使用openGL的圖像查看器,並且遇到了需要加載非常大(> 50MB)圖像以供查看的情況。我將圖片加載爲紋理並將其顯示到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未申報」。我究竟做錯了什麼?有我缺少的圖書館嗎?更一般地說,這是對我的問題可行的解決方案嗎?
我在Windows Vista計算機上使用Qt Creator,使用NVIDIA Quadro FX 1700圖形卡。
圖像每邊有10,000和30,000像素之間的任何地方。 – 2009-07-13 20:55:26