【问题标题】:internalFormat in glCompressedTexImage2D specifies format in texture or the format in OpenGL(GPU)?glCompressedTexImage2D 中的 internalFormat 指定纹理中的格式还是 OpenGL(GPU) 中的格式?
【发布时间】:2013-09-09 07:46:49
【问题描述】:

这是一个有点傻的问题,但链接 (http://www.opengl.org/sdk/docs/man/xhtml/glCompressedTexImage2D.xml) 说它“指定存储在地址数据中的压缩图像数据的格式”。这意味着实际的压缩纹理图像格式。我就是这么想的。

那为什么叫“内部格式”呢?不应该叫Format吗?

因为glTexImage2D()中的Internal Format是指图像数据在GPU内部存储的格式。

【问题讨论】:

    标签: opengl textures


    【解决方案1】:

    压缩纹理的想法是,GPU 保存并从其内存访问的图像数据被压缩以节省空间,更重要的是 - 内存带宽。因此,内部格式定义要使用的压缩(如果有)是有意义的。

    那么你的问题到底是什么?

    【讨论】:

    • 我的问题是,图像是在GPU中压缩的还是从应用程序读取的压缩图像?
    • 可能是我对 glCompressedTexImage2D 没有很好的理解。据我所知,glCompressedTexImage2D 读取图像并以压缩格式存储在 GPU 中?一直以来,我一直认为 glCompressedTexImage2D 用于将压缩图像读入 GPU。
    • @kvikram:当您使用glCompressedTexImage2D (...) 时,这是因为您将已经压缩到 GL 的图像数据传递。它保持这种压缩格式。当您使用带有glTexImage2D (...) 的压缩内部格式时,GL 在像素传输期间压缩图像数据。在这两种情况下,纹理都以压缩格式存储,唯一的区别是它开始的格式。
    • @AndonM.Coleman。谢谢,现在我明白这个 API 是干什么用的了!
    • @AndonM.Coleman,也许您可​​以使用您在评论中提供的信息更新您的问题。它似乎与问题相关。
    猜你喜欢
    • 1970-01-01
    • 2021-03-09
    • 2014-06-08
    • 1970-01-01
    • 1970-01-01
    • 2016-01-11
    • 1970-01-01
    • 2011-04-08
    • 1970-01-01
    相关资源
    最近更新 更多