5

私はnVidia Quadro NVS 295/PCIe/SSE2カードを持っています。これを行うglGetString(GL_EXTENSIONS)と、値を出力して「圧縮」を grep すると、このリストが表示されます

  • GL_ARB_compressed_texture_pixel_storage
  • GL_ARB_texture_compression
  • GL_ARB_texture_compression_rgtc
  • GL_EXT_texture_compression_dxt1
  • GL_EXT_texture_compression_latc
  • GL_EXT_texture_compression_rgtc
  • GL_EXT_texture_compression_s3tc
  • GL_NV_texture_compression_vtc

しかし、 with はサポートされてglCompressedTexImage2Dいる圧縮glGetGL_COMPRESSED_TEXTURE_FORMATS返します。

  • 0x83f0 = GL_COMPRESSED_RGB_S3TC_DXT1_EXT
  • 0x83f2 = GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
  • 0x83f3 = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT

この3つの価値。

glGetカードが処理できる他の圧縮フォーマットを公開しないのはなぜですか? LATC、RGTC、または VTC と言いますか?

また、最初のリストに対応する DXT3 または 5 拡張機能が表示されないのはなぜですか?

4

2 に答える 2

10

glGet が、カードが処理できる他の圧縮形式を公開しないのはなぜですか?

NVIDIA は望んでいないからです。そして、本当に、意味がありません。ARB は、GL 4.3 から COMPRESSED_TEXTURE_FORMATS を非推奨にする (削除はしない) ことさえ決定しました。

要するに、その特定の に依存しないでくださいglGet。拡張機能に頼ってください。GL 3.0+ を使用している場合は、RGTC 形式があります。これは GL 3.0+で必要です。EXT_texture_compression_s3tcがある場合、「DXT」形式があります。EXT_texture_sRGB もある場合は、「DXT」形式の sRGB バージョンがあります。などなど。

また、最初のリストに対応する DXT3 または 5 拡張機能が表示されないのはなぜですか?

エヘム

  • 0x83f2 = GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
  • 0x83f3 = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT

これらは S3TC の異なる形式です。

于 2012-09-10T20:35:32.000 に答える
2

最初のリストに、対応する DXT3 または 5 の拡張子が表示されないのはなぜですか?

あなたは。彼らはによってカバーされていGL_EXT_texture_compression_s3tcます。

于 2012-09-10T20:35:31.870 に答える