游戏开发乱七八糟学习:一些抗锯齿技术
一.SSAA
超级采样抗锯齿:在显示尺寸不变的情况下提高采样率,让单个像素变得极小,但是性能消耗增加.
在不采用SSAA技术的情况下,一个单独的网格是否显示颜色由网格中心点是否在几何图形区域内决定;采用SSAA后,一个网格是否显示颜色将不再由一个中心点决定,而是由四个或更多网格点是否在几何区域内决定,这些点在网格内均匀分布,而且可以由在几何区域内的点数量决定颜色的深浅.
二.MSAA
多重采样抗锯齿:由于SSAA的性能消耗是成倍提高的,因此采用MSAA可以进行改进.MSAA相当于对SSAA进行"剪枝",不再提高所有像素点的采样率,而是试图找出物体边缘部分的像素,只提高这部分像素的采样率,忽略了物体内部的像素和物体外部的像素.
三.FXAA
FXAA相比于MSAA的速度更快,显存占用更低.FXAA将即将渲染的图形作为输入,然后输出消除锯齿的版本,同样基于边缘检测的抗锯齿算法,但是依赖于像素亮度信息的变化,计算像素和其周围想读的亮度对比,以此判定一个像素是否是边缘像素.
四.TXAA
TXAA除了检测边缘像素并平滑抗锯齿外,还能够对帧之间的整个场景进行抖动采样(基于前两帧的渲染缓存对当前帧进行处理),以减少闪烁,原理是通过HDR后处理管线从硬件层面上提供颜色矫正处理.