2010-08-26 195 views
0

编辑:好吧,对不起,我有一个简单的编程错误,有没有办法删除这个问题?OpenGL ES,你如何渲染PVR纹理?

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

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

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

任何信息表示赞赏。

回答

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); 

确保你没有设置GL过滤器模式,如果他们使用的贴图不在纹理中。

在Apple的文档中搜索PVRTC可以提供如何使用这些纹理的体面摘要。

0

上传后,PVR纹理与其他格式没有区别。数据上传过程中您忘记跳过标题,还是使用了错误的glCompressedTexImage2D参数?由于尺寸或颜色格式不正确,压缩工具甚至有可能无法转换图像。