什么是锯齿

图像的边缘有明显的像素边界,看起来不自然,好像锯齿一样

什么是抗锯齿

消除或者减轻锯齿

为什么会出现锯齿

计算器屏幕上显示的图像由一个个像素组成,绘制斜线的时候需要按照一个方向填充一个个像素的颜色。分辨率越大像素越多,分辨率越小,像素越少。
像素很少的时候,连续的几个像素看起来就会形成锯齿。分辨越率大锯齿越弱。

抗锯齿技术可以分3类

空间抗锯齿(Spatial anti-aliasing)

从高分辨率的渲染结果里进行采样,填充到低分辨率的结果图像,比如从800x400大小的图形采样像素填充到400x200大小的图像里
填充低分辨率结果时,计算需要在高分辨率结果里采样的像素,并且采样周边像素,对它们进行混合后作为结果填充到目标像素

后处理抗锯齿(Post-process anti-aliasing)

基于图像处理的抗锯齿

时域抗锯齿(TAA)

分帧进行抗锯齿

Spatial anti-aliasing方案

Supersampling anti-aliasing (SSAA)

超级采样抗锯齿,又叫全屏采样抗锯齿(full-scene anti-aliasing (FSAA)),第一个被开发出来的抗锯齿技术,有2个缺点
1 会影响水平、竖直的线,这没必要也导致不清晰
2 处理整张图性能消耗高,不好用在实时渲染

Multisample anti-aliasing (MSAA)

多重采样抗锯齿,每个像素有多个子样本,当前像素的颜色会输出到这些子样本上,当子样本被填满时,所有的子样本做一次均值作为当前像素的最终结果。
这个功能由硬件支持。4x MSAA的采样方式:4x MSAA的采样方式


CSAA and EQAA

检测多边形哪些地方可能有锯齿,然后只对这些地方进行超级采样

后处理抗锯齿方案

MLAA and FXAA

快速近似抗锯齿,找到图像的边缘,对边缘进行平滑处理
缺点:相机移动时,高频区域会闪烁

Temporal anti-aliasing (TXAA)

NVIDIA提供了一种称作TXAA的抗锯齿技术,实际上就是TAA+MSAA。通过引入额外的深度信息来实现在延迟渲染上使用MSAA,可以用在实时渲染。

Enhanced subpixel morphological anti-aliasing (SMAA)

和FXAA类似的原理,但是更精细的边缘检测

时域抗锯齿TAA

TAA(Temporal Anti-Aliasing)是时间性抗锯齿,是最常用的图像增强算法之一,这是一种基于着色器的算法,使用运动矢量组合两帧,以确定在何处对前一帧进行采样。
在每一帧对屏幕区域内的像素进行一个抖动操作,这样当连续的多个帧的数据混合起来以后,就相当于对每个像素进行了多次采样。
他将采样点从单帧分布到多个帧上,使得每一帧并不需要多次采样增加计算量,但TAA往往会盲目地跟随移动物体的运动矢量,从而造成屏幕上的细节模糊不清。

参考资料

https://www.hp.com/us-en/shop/tech-takes/what-is-anti-aliasing
https://en.wikipedia.org/wiki/Multisample_anti-aliasing
https://therealmjp.github.io/posts/msaa-overview/
https://zhuanlan.zhihu.com/p/342211163

【高级渲染特性】抗锯齿技术介绍相关推荐

  1. 【技术美术图形部分】简述主流及新的抗锯齿技术

    电脑的世界里没有曲线,都是三角面组成一个个模型的,因此一定会出现走样(锯齿)的情况,只是严重与否的问题,而AA也是实时渲染最难解决的问题之一. Sampling&Artifacts Lectu ...

  2. 电影级高画质!3D游戏抗锯齿技术解析

    几乎无法区分的现实和虚拟 泡泡网显卡频道8月24日 近几年来显卡技术的发展速度可谓是突飞猛进,不仅仅是性能的提升,更多的新特效也令我们的游戏世界更加精彩更加逼真.近日人气明星姚晨在微博上发出一张水面照 ...

  3. 游戏中的抗锯齿技术Anti-Alasing提炼总结

    游戏中的抗锯齿技术Anti-Alasing提炼总结 锯齿(走样,失真)产生的根本原因 图形学的根本过程是一个图形转化成图像的过程,该过程是一个连续信号经过采样转化成离散信号(显示设备的像素是离散的)的 ...

  4. Anti-Aliasing抗锯齿 SSAA MSAA FXAA三维游戏抗锯齿技术浅谈

    今天组里同学询问关于抗锯齿的问题,我尽量简化成人话方便理解. 关于抗锯齿的技术有很多种,有的基于硬件,有的则完全依赖算法计算.总的来说,锯齿是软硬件沟通差异导致的问题,是开发者最常见的问题之一. 实际 ...

  5. games101 作业2 原创代码框架进阶版 MSAA4x抗锯齿技术学习

    用的库有opencv4.5.5 (vc15)和eign3.4.0 这篇的代码是在我上篇作业1的基础上魔改出来的,目的是为了实现MSAA四倍的抗锯齿技术和实心三角形的光栅化. #include<E ...

  6. OpenGL MSAA:抗锯齿技术详解

    抗锯齿 anti-aliasing 本文来自对learnopengl.com上教程的个人总结 一 概念 有时候OpenGL渲染出来的物体,其边缘会出现锯齿,显得很不丝滑.说白了,使物体在渲染时保持边缘 ...

  7. 高级驾驶辅助系统ADAS技术介绍

    高级驾驶辅助系统(Advanced Driving Assistant System),简称ADAS,是利用安装在车上的各式各样传感器(毫米波雷达.激光雷达.单\双目摄像头以及卫星导航),在汽车行驶过 ...

  8. 抗锯齿相关技术介绍:MSAA、FXAA、SMAA、TXAA、MSAA

    在图像处理中,锯齿一直是一个大问题,因此图像中的抗锯齿(Anti_aliaing,简称AA),也被称为边缘柔化.消除混叠.抗图像折叠有损等.AA主要是处理图像有锯齿的边缘,使其图像更清晰清晰.下面有一 ...

  9. 【NO.3】图形渲染,光照,抗锯齿简介,透明渲染排序简介

    <real-time提炼总结 第四章><Real-Time Rendering 3rd  第五章><unity shader 入门精要  第六章 > 图形渲染与视觉 ...

  10. 简单,但是实际的抗锯齿介绍

    FSAA的的简单介绍 游戏画面中物体边缘怎么老是看上去像是长了很多毛刺一样?FSAA到底是干什么用的?通过什么原理来实现FSAA?上述问题对于硬件初学者来说的确是有些抽象难懂,不过看完以下的介绍,相信 ...

最新文章

  1. layui停止更新_layui 关闭当前窗口,刷新父级页面
  2. 详细理解JS中的继承
  3. python编程有哪些-python编程工具有哪些
  4. asp.net DBHelper类
  5. 正则表达式获取一个文本域中每一行的值并且去掉前后空格
  6. SDCC 2016数据库峰会(深圳站)学习笔记
  7. es安全组端口_从零开始在远程服务器(Linux)上搭建es,eshead和ik分词器
  8. 18.requests
  9. 序列号大全,装机必备
  10. 上海链家二手房交易数据分析
  11. C#开源代码Newbeecoder.UI控件库极力推荐
  12. 通达信交易服务器修改,GitHub - sjj6love/TdxTradeServer: TongDaXin Tarde Server 通达信交易服务器...
  13. HTML 的属性 lang=“en“ 语言设置为中文
  14. proftpd 服务器配置
  15. ajax读取文件数据,Ajax 实现读取 properties 格式资源文件数据
  16. socket 套接字通信研究与讨论
  17. excel怎么添加换行符_在Excel公式中添加换行符
  18. MIPI RFFE协议使用不完全指南(附上代码详解和参考资料)第一部分
  19. 刻录光盘软件测试工资,Windows XP刻录数据光碟
  20. C++编程练习 计算一元二次方程组解判断是否测试过三种情况

热门文章

  1. Navicat 11 Premium中文破解版使用心得
  2. 2022软考高项-知识点速记更新版(顺口溜)
  3. 董明珠这一年:格力造芯与银隆困局
  4. 如何将HTML与win10桌面壁纸,Win10默认桌面背景怎么设置
  5. 【UI设计】扁平化设计之流行色值
  6. 小米6无限重启无服务器,网友投诉小米手机无限重启 官方客服已回复
  7. 阿里云平台购买域名 免费申请SSL证书
  8. Visual Studio 2022 启用CodeLens - 程序抬头显示(查看字段、方法、类的引用)
  9. Video.js使用教程一(详解)
  10. 从产品模式到生活方式,苏宁小Biu车联网迈过了哪些坎?