我有一张 nVidia Quadro NVS 295 / PCIe / SSE2 卡,当我执行glGetString(GL_EXTENSIONS)
时,打印出值和grep for“compress”,我得到这个列表< / p>
但是再次glCompressedTexImage2D
说glGet
GL_COMPRESSED_TEXTURE_FORMATS
返回支持的压缩,只提供
这三个值。
现在为什么glGet
没有公开我的卡可以处理的其他压缩格式?说LATC,RGTC还是VTC?
为什么我没有在第一个列表中看到相应的DXT3或5个扩展名?
答案 0 :(得分:9)
现在为什么glGet不公开我的卡可以处理的其他压缩格式?
因为NVIDIA不想这样做。真的,没有意义。 ARB甚至决定弃用(但不删除)GL 4.3中的COMPRESSED_TEXTURE_FORMATS内容。
简而言之,不要依赖于特定的glGet
。依靠扩展。如果你有GL 3.0+,那么你有the RGTC formats; GL 3.0+需要 。如果您有EXT_texture_compression_s3tc,那么您将拥有“DXT”格式。如果您有EXT_texture_sRGB as well,则您拥有“DXT”格式的sRGB版本。等等。
为什么我没有在第一个列表中看到相应的DXT3或5个扩展名?
咳:
- 0x83f2 = GL_COMPRESSED_RGBA_S3TC_ DXT3 _EXT
- 0x83f3 = GL_COMPRESSED_RGBA_S3TC_ DXT5 _EXT
这些只是S3TC的不同形式。
答案 1 :(得分:1)
为什么我没有在第一个列表中看到相应的DXT3或5个扩展名?
你是。他们被GL_EXT_texture_compression_s3tc
覆盖。