android mipmap的作用,使用Mipmap有什么好处?

原标题:使用Mipmap有什么好处?

Mipmap是纹理图像的较小的预滤波变体,表示纹理的不同细节层次(LOD)。通过使用mipmap的缩小过滤器模式,Graphics Core可以设置为自动计算哪个LOD最接近将mipmap的纹理元素映射到渲染目标中的像素,并使用正确的mipmap 进行纹理化。

使用 Mipmap 有两个重要的优点:

• 通过大幅提高纹理缓存效率来提高性能, 特别是在强缩小的情况下。

• 通过消除不使用 mipmapping 的纹理采样而造成的混叠,从而提高图像质量。

mipmapping 的单一限制是每个图像需要大约三分之一的纹理内存。根据情况,与渲染速度和图像质量方面的好处相比,这个成本可能很小。在某些情况下,不应使用Mipmap。具体来说,在不能合理应用过滤的情况下,不应使用mipmapping,例如包含非图像数据(如索引或深度纹理)的纹理。对于从不缩小的纹理也应该避免,例如,UI元素中的纹理元素总是与像素一一映射。

理想情况下,应该使用诸如PVRTexTool之类的工具离线创建mipmap,该工具可作为PowerVR图形SDK的一部分提供。可以在运行时生成mipmap,这对于更新渲染纹理目标的mipmap非常有用。在OpenGL ES中,可以使用函数glGenerateMipmap来实现。在Vulkan中没有这样的内置函数,开发人员必须手动生成它们。这不适用于PVRTC纹理,它必须离线生成mipmap。必须决定哪一个代价是最合适的,离线生成的存储成本还是运行时间成本(在Vulkan的情况下增加代码复杂度)在运行时生成mipmap。

最后,应该注意的是,在mipmap级别之间缺少过滤可能导致在mipmap过渡处出现可见的接缝,这是一种称为“mipmap banding”的人工制品形式。 OpenGL ES中的三线性滤波可以通过使用滤波器模式GL_LINEAR_MIPMAP_LINEAR来实现。在Vulkan中,过滤模式应该设置为VK_SAMPLER_MIPMAP_MODE_LINEAR以进行三线性过滤。这样可以有效地消除这些接缝,从而获得更高的图像质量。返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值