首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >矩形和mipmap纹理

矩形和mipmap纹理
EN

Stack Overflow用户
提问于 2013-01-03 16:35:05
回答 1查看 1.1K关注 0票数 1

如果我们有支持NPOT纹理的mipmap,那么矩形纹理有什么用呢?是否有任何与性能或图像质量相关的改进?此外,我认为,mipmapping将占用大量内存,因为它为每个级别创建。那么,使用矩形纹理不是更好吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-03 17:51:09

矩形纹理:

  1. 从来没有mipmap。
  2. 使用非标准化的纹理坐标。

#1并不重要,因为您可以通过仅使用glTexStorage2Dsetting the number of mipmap levels to 1,或者通过setting the base/max level of the texture properly和/或不使用mipmap的min filtering parameters来实现相同的效果。

#2更难模仿。texelFetch函数在纹理空间中工作,但它使用整数纹理坐标。矩形纹理坐标是浮点值。这允许他们使用双线性甚至是各向异性过滤。你不能用texelFetch做到这一点。

可以通过规格化纹理空间纹理坐标来模拟矩形纹理。但这需要手动操作:您必须使用textureSize查询纹理的大小,或者将uniform中的大小传递给着色器。然后你必须做除法来归一化坐标。这可能是现代硬件在幕后所做的事情(特别是因为像Vulkan这样的较新的API没有它们),但是如果有对矩形纹理的显式支持,手动操作很可能会绕过它。

#2是现在你使用矩形纹理的主要原因。它们对于渲染目标非常有用,因为您可以使用窗口空间坐标从它们获取值,而无需标准化纹理坐标。但总的来说,它们是非常特殊的纹理类型。

性能问题纯粹是投机性的,也是特定于硬件的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14135399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档