五分钟搞懂游戏开发中的抗锯齿算法

五分钟搞懂游戏开发中的锯齿算法
常见抗锯齿算法总结
蛇退步锯齿由来
场景的定义在三维空间中是连续的,⽽最终显⽰的像素则是⼀个离散的⼆维数组,这是计算机屏幕产⽣锯齿的原因。在计算机处理图形的过程中(渲染管线了解⼀下),有⼀个⾮常重要的阶段,就是光栅化,光栅化主要的作⽤是将顶点数据的不连续性通过插值计算,将两个顶点之间不存在的点进⾏弥补,然后实现到屏幕像素点上的⼀⼀映射。如图,现在要在屏幕上绘制⼀个三⾓形,我们就要判断屏幕上哪个点在三⾓形当中,然后将它绘制出来。
图中显⽰,有的像素点全部在三⾓形中,有的部分在其中,有的完全没在其中,但是在屏幕上绘制的时候却不能只绘制像素点的⼀部分,要么不绘制,要么就整个像素点都绘制。所以绘制完成就出现下⾯的锯齿情况:
抗锯齿算法
⾸先说明⼀下,抗锯齿算法应⽤于硬件,且在光栅化阶段执⾏。
锯齿的出现可以简单理解为像素精度不够,那么如何巧妙的提升像素精度呢?
SSAA
超级采样抗锯齿 (Super-Sampling Anti-aliasing),也叫SSAA,其原理⽐较好理解,就是直接“放⼤屏幕分辨率”。假设屏幕分辨率为800x600,那么4xSSAA会将屏幕渲染到1600x1200的缓冲区上,然后在下采样到800x600,SSAA可以得到⾮常好的抗锯齿效果,不过SSAA需要的计算量是⾮常⼤的,光栅化和⽚段着⾊器都是原来的4倍,渲染缓存的⼤⼩也是原来的4倍。4xSSAA就是放⼤4倍的意思。因为SSAA要浪费⼤量内存,因此基本没有⼤量应⽤。
MSAA
涤纶单丝
多重采样抗锯齿 (Multi-Sampling Anti-aliasing),MSAA是对SSAA的改进,放弃了扩⼤像素分辨率,使⽤多重采样的⽅式,既然有多重采样,就有“单重采样”,⽽传统的采样⽅式就可以理解为“单重采样”,当然并不存在“单重采样”这个东西了。姑且这样叫它。“单重采样”就是⼀个像素点与⼀个采样点进⾏对应,⽽“多重采样”则是⼀个像素点与多个采样点进⾏对应。如图:
看图就好理解了:此图是4MSAA,即⼀个像素点对应4个采样点,对于边界,我们根据其像素点包围的点数来计算其颜⾊值,⽐如边界像素点包含2个采样点,那么它最终的颜⾊就应该是本来的颜⾊2/4,同理,如果包含⼀个,就是颜⾊*1/4,最终 的效果如下:
这样看起来“圆滑”很多。其有点⽐较突出,效果也不错,但是
注意,它不适合延迟渲染,这⾥说的不适合并不是不⽀持,延迟渲染也能⽀持MSAA,但是⽀持他就会⼤量浪费空间
延迟渲染是什么,在这⾥不做过多介绍,总之他为了优化光照着⾊,需要⼀个GBuffer,这个就是临时
渲染出的结果的缓存因为需要GBuffer,所以MSAA也需要进⾏临时保存,那么保存临时数据的后果则是浪费⼤量显存。悬浮机器人
前⾯可知4x MSAA的显存消耗是4x的关系,假设我们按照2k的原⽣分辨率来做,⼀个RT就是64 MB,⽤来做MSAA的那个RT就会是不低于256MB。⼜因为GBuffer⾄少存depth,normal,basecolor3张RT,那三个MSAA RT就是768MB,这种消耗⾮常巨⼤,因此可以理解为“不⽀持”
CSAA
覆盖采样抗锯齿(Coverage Sampling Anti-Aliasing,简称CSAA)是NVIDIA在G80及其衍⽣产品⾸次推向实⽤化的AA技术,也是⽬前NVIDIA GeForce 8/9/G200系列独享的AA技术。CSAA就是在MSAA基础上更进⼀步的节省显存使⽤量及带宽,简单说CSAA就是将边缘多边形⾥需要取样的⼦像素坐标覆盖掉,把原像素坐标强制安置在硬件和驱动程序预先算好的坐标中。这就好⽐取样标准统⼀的MSAA,能够最⾼效率的执⾏边缘取样,效能提升⾮常的显著。⽐⽅说16xCSAA取样性能下降幅度仅⽐4xMSAA略⾼⼀点,处理效果却⼏乎和
8xMSAA⼀样。8xCSAA有着4xMSAA的处理效果,性能消耗却和2xMSAA相同。
FSAA磁疗鞋
静压主轴
FSAA(Fast Approximate AA)的核⼼思想是正常采样⼀个三⾓形,如果该三⾓形存在锯齿,则通过边缘检测查出边界区域,然后使⽤没有锯齿的线段去替换有锯齿的边界,该⽅法和采样⽆关,因此速度很快。
草耙子TAA
TAA(Temporal AA),该⽅法的核⼼思想是复⽤上⼀帧渲染出的结果,并整合到本帧中,从时间上复⽤以前的计算结果,对于静⽌的图像优势明显。

本文发布于:2024-09-22 08:19:52,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/250629.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:采样   像素点   绘制   抗锯齿   锯齿   像素   渲染
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议