0

编辑:好的,对不起,我有一个简单的编程错误,有没有办法删除这个问题?

我有一些 PVR 文件的压缩纹理,但我似乎无法使用 OpenGL ES 在我的 iPad 应用程序中绘制它们。

我可以很好地绘制 PNG 文件,我知道 PVR 文件正在正确加载。我需要调用一些特殊的 OpenGL 绘制函数来绘制 PVR 文件吗?

编辑:我得到的只是一张白色的图像。

任何信息表示赞赏。

4

2 回答 2

0

绘制 PVRTC 纹理应该与任何其他纹理格式完全相同 - 看起来更有可能是您的加载代码有问题。加载过程中是否报告了任何 GL 错误?

加载未压缩纹理的主要区别在于:

glCompressedTexImage2D(GL_TEXTURE_2D, level, GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG, width, height, 0, size, data);

或者

glCompressedTexImage2D(GL_TEXTURE_2D, level, GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG, width, height, 0, size, data);

如果 MIPmaps 也不在纹理中,请确保您没有设置 GL 过滤器模式以使用 MIPmaps。

在 Apple 的文档中搜索 PVRTC 会得到一个关于如何使用这些纹理的不错的总结。

于 2010-09-22T11:28:20.160 回答
0

上传后,PVR 纹理与其他格式没有什么不同。上传数据时是否忘记跳过标题,或者为 glCompressedTexImage2D 使用了错误的参数?由于尺寸或颜色格式错误,压缩工具甚至可能无法转换图像。

于 2011-02-03T17:11:04.843 回答