百科问答小站 logo
百科问答小站 font logo



游戏画面设置中的“各向异性过滤”是做什么的? 第1页

  

user avatar   jing-man-man-18 网友的相关建议: 
      

不开的话, 由于贴图的时候画面会形变. 于是视角越倾斜, 越远处的东西就会越模糊.

众所周知, 渲染的时候有个往模型上贴图的过程: CPU会把贴图加载到显存里, 贴图的时候, 找到像素对应的纹理颜色贴上来. 但对于远处的东西, 需要取一大块区域, 然后模糊一下才行(不然会摩尔纹).

于是为了求快, 每个像素对应的纹理, 是直接按着正方形的区域去取的.

比如下图的1号区域(假设它是一个像素), 它明明对应纹理上一块斜四边形的"纹素", 实际上却把一整个方形(红框)里的东西贴过来[1]. 在在近处没有问题, 格子比较小, 但放远处, 这误差, 这问题还不大? 所以我们理当斜着取.

实际执行的时候计算机并不会"模糊一下", 而是一开始就加载了一级一级缩放过的材质贴图 (图3左), 这样在远处采样时, 可以直接用低清图去贴, 免得有摩尔纹(屏幕上对应远方的像素数量少, 采样频率低, 会混叠).

而各向异性过滤, 就是在每一级上, 多存一些图长宽上压缩比不同的图(所以叫各『向』『异』性), 这样就和"斜着取"近似了,) 就抵消了一部分采样时的形变. (按我理解, "过滤"一词, 指的就是对显存中纹理图的范围查询本身, 把贴图当数据, 需要筛选合适的纹理数据读出)

下图是显存里放着的纹理, 左边是没有各向异性过滤时, 分层放置的贴图, 占据的内存空间比较:

上述的图和解释, 都直接来源于GAMES101 现代计算机图形学入门 闫令琪老师, 最后一张图的前两张是我P的.

非要说吃运算资源的话, 大概是载入贴图的时候, CPU多费一些功夫去压缩, 会费一些内存的IO.

本回答是初学者的笔记 (涉及引擎和硬件如何真实实现的地方待修改)

参考

  1. ^ 篇幅有限, 这里用了很很含糊的说法.



  

相关话题

  韩国的文化产业这么厉害吗?可以与10年前日本与日本巅峰时期的文化产业相比吗? 
  你是怎么戒掉《王者荣耀》这个游戏的? 
  如何评价《黑神话:悟空》主创尤卡(冯骥)和杨奇对《最后生还者2》获tga最佳年度游戏的评价? 
  针对3A游戏,60FPS升级到144FPS对游戏体验提升大不大? 
  如何评价腾讯发布的《穿越火线》HD版本? 
  游戏《艾尔登法环》中有哪些乍一看没什么,细想想却很可悲的设定? 
  竞技游戏中,LOL、DotA、帝国时代、英雄连、红色警戒、魔兽争霸和星际争霸的操作难度有何差距? 
  为什么国内有些人愿意在网页游戏里投入上千上万,而不愿意购买几十上百块钱的买断制单机或者多人联机游戏? 
  假设在我国严刑重典封禁一切电子游戏,会给社会带来什么样的影响? 
  Sony和Nintendo系游戏主机的软件开发基于什么图形库? 

前一个讨论
什么是「实时渲染」技术?
下一个讨论
在高射炮使用近炸引信前用的是什么引信?!?





© 2025-02-16 - tinynew.org. All Rights Reserved.
© 2025-02-16 - tinynew.org. 保留所有权利