代码之家  ›  专栏  ›  技术社区  ›  Graphics Noob

如何在openGL中使用纹理压缩?

  •  1
  • Graphics Noob  · 技术社区  · 17 年前

    我正在使用openGL制作一个图像查看器,我遇到了需要加载非常大(>50MB)的图像才能查看的情况。我将图像作为纹理加载,并将其显示到GL_QUAD上,该GL_QUAD.对于较小的图像非常有效,但在较大的图像上加载失败,我得到一个空白矩形。到目前为止,我已经实现了一个非常丑陋的黑客,它使用另一个程序将图像转换为可以加载的更小、更低分辨率的版本,但我正在寻找一个更优雅的解决方案。我发现openGL有一个 texture compression feature 但我无法让它工作。当我打电话的时候

    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图形卡。

    2 回复  |  直到 17 年前
        1
  •  2
  •   AnalyticaL    17 年前

    http://www.opengl.org/resources/faq/technical/texture.htm ,它描述了如何找到最大纹理大小。

        2
  •  1
  •   Jim Buck    17 年前