PVRTC 纹理

转载 2012年03月22日 10:58:32
iPhone的图形芯片(PowerVR MBX)对一种称为 PVRTC 的压缩技术提供硬件支持,Apple推荐在开发iPhone应用程序时使用 PVRTC 纹理。他们甚至提供了一篇很好的 技术笔记 描述了怎样通过使用随开发工具安装的命令行程序将标准图像文件转换为 PVRTC 纹理的方法。

你应该知道当使用 PVRTC 时与标准JPEG或PNG图像相比有可能有些图像质量的下降。是否值得在你的程序中做出一些牺牲取决于一些因素,但使用 PVRTC 纹理可以节省大量的内存空间。

尽管因为没有Objective-C类可以解析 PVRTC 数据获取其宽和高1信息,你想要手工指定图像的高和宽,但加载 PVRTC 数据到当前绑定的纹理实际上甚至比加载普通图像文件更为简单。

 

下面的例子使用默认的texturetool设置加载一个 512×512 的PVRTC纹理:

    NSString *path = [[NSBundle mainBundle] pathForResource:@"texture" ofType:@"pvrtc"];
    NSData *texData = [[NSData alloc] initWithContentsOfFile:path];
 
    // This assumes that source PVRTC image is 4 bits per pixel and RGB not RGBA
    // If you use the default settings in texturetool, e.g.:
    //
    //      texturetool -e PVRTC -o texture.pvrtc texture.png
    //
    // then this code should work fine for you.
    glCompressedTexImage2D(GL_TEXTURE_2D, 0, GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG, 512, 512, 0,
        [texData length], [texData bytes]);
 

就这么简单。使用glCompressedTexImage2D()从文件加载数据并传送给OpeNGL ES。而随后怎样处理纹理则绝对没有任何区别。

相关文章推荐

ETC1压缩纹理格式详解

本来以为,ETC1作为Android 设备的OpenGL标准,开源且最常用的的一种压缩纹理格式,总会有人去翻译一下khronos的文档,读一下代码,给大家作个普及的,不料就是搜不到。没办法,尽管英文不...

PVRTC compression

纹理图片数据量巨大,一个256x256 RGBA16的原始象素就有128KB之多,而一个实际应用中会用到巨量的纹理图片。这些数据都需要从硬盘或存储卡上读进内存,然后再上传到显存里。通过 有损压缩,图片...

(牛帖)PVRTC compression increasing the file sizes of PNG

3down votefavorite 3 share [g+]share [fb]share [tw] For iPhone game developme...

游戏纹理资源素材

  • 2016-10-18 10:07
  • 14.59MB
  • 下载

自制像素无缝纹理平铺绘画工具

上传个自己写的无缝像素平铺工具,最近整理一些以前的坑 用于独立游戏平铺纹理制作 放上源码地址 https://github.com/shenmifangke/seamlessPainter 主要...

LibGDX纹理打包工具3.2.0

  • 2016-10-25 21:27
  • 7.12MB
  • 下载

生成凹凸纹理小程序

  • 2016-04-21 15:38
  • 4.89MB
  • 下载

d3d纹理参数研究

d3d纹理参数研究。

纹理图像分析

  • 2017-07-08 21:00
  • 27.51MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)