Mus*_*maz 3 textures opengl-es opengl-es-2.0
我正在寻找一种支持 mipmaps、cubemaps 和 3d 纹理的格式,以便在 OpenGL ES 2.0 游戏中使用。在 Windows 上,我使用 .dds 格式,因为它支持 DXT 压缩。对于移动程序,我认为有不支持多纹理的 .pkm 文件和我“认为”依赖于 PowerVR 平台的 .pvr 文件。所以;
- 我可以将 .dds 与 ETC1 压缩一起使用吗?是否存在许可证问题阻止我在 Windows 以外的平台上使用 .dds?
- 其他 GPU 供应商的产品(Adreno、Mali 等)是否支持 .pvr 文件?(不是 PVRTC,只是带有 ETC1 压缩的 .pvr)
- 或者是否有另一种文件格式可以满足我的需要?
是的,您可以将 DDS 用于 ETC1。只需发明您自己的 FOURCC 代码即可。据我所知 dds 没有获得专利。
没有 GPU 供应商支持 pvr 文件格式(包括 PoverVX)。GPU 供应商只关心压缩的纹理数据(PVRTC、ETC、DXTC),而不关心文件格式(png、jpeg、dds、pvr)。解析文件格式以提取纹理数据(压缩或未压缩)是用户/应用程序的责任。
您可以使用任何适合您需要的文件格式。自己发明。例如,像这样:
[4 bytes] - width
[4 bytes] - height
[4 bytes] - format id (1 - etc1, 2 - dxt, 3 - ... whatver)
[4 bytes] - count of images (mipmaps/cubemaps/whatever)
[bytes] - data
Run Code Online (Sandbox Code Playgroud)