当前位置: 首页 > news >正文

4.4 抗锯齿

一、锯齿是怎么产生的

二、抗锯齿介绍

1.SSAA(super sample anti-aliasing)

拿4xSSAA举例子,假设最终屏幕输出的分辨率是800x600, 4xSSAA就会先渲染到一个分辨率1600x1200的buffer上,然后再直接把这个放大4倍的buffer下采样至800x600。这种做法在数学上是最完美的抗锯齿。但是劣势也很明显,光栅化和着色的计算负荷都比原来多了4倍。

2.MSAA(Multisampling Antialising)

MSAA(Multi-Sampling AA)则很聪明的只是在光栅化阶段,判断一个三角形是否被像素覆盖的时候会计算多个覆盖样本(Coverage sample),但是在pixel shader着色阶段计算像素颜色的时候每个像素还是只计算一次。例如下图是4xMSAA,三角形只覆盖了4个coverage sample中的2个。所以这个三角形需要生成一个fragment在pixel shader里着色,只不过生成的fragment还是在像素中央(位置,法线等信息插值到像素中央)然后只运行一次pixel shader,最后得到的结果在resolve阶段会乘以0.5,因为这个三角形只cover了一半的sample。现代所有GPU都在硬件上实现了这个算法,而且在shading的运算量远大于光栅化的今天,这个方法远比SSAA快很多。顺便提一下之前NV的CSAA,它就是更进一步的把coverage sample和depth,stencil test分开了。

问题:MSAA的一个问题就是和现在大街小巷都是的deferred shading框架并不是那么兼容。因为用deferred shading的时候场景都先被光栅化到GBuffer上去了,不直接做shading。

3.TAA(Temporal Antialiasing)

  • 把多次采样的过程分不到每一帧中去,每一帧都平均前面几帧保存下来的数据
  • 每一帧会有一定的偏移,继承了MSAA采样
  • 用motion vector保存每帧移动的偏移

TemporalAA之前

TemporalAA之后

问题:会有闪烁的情况。

4.FXAA(Fast Approximate Anti-Aliasing)(后处理)

  • 利用边缘检测有效的模糊混合

5.SMAA

主流抗锯齿方案详解(四)SMAA

http://www.lryc.cn/news/240973.html

相关文章:

  • vue-router 路由权限,路由导航守卫
  • 2022最新版-李宏毅机器学习深度学习课程-P49 GPT的野望
  • 应用软件安全编程--28SSL 连接时要进行服务器身份验证
  • 深度学习之七(深度信念网络和受限玻尔兹曼机器)
  • CTF-PWN-QEMU-前置知识
  • iEnglish全国ETP大赛:教育游戏助力英语习得
  • 租车系统开发/多功能租车平台微信小程序源码/汽车租赁系统源码/汽车租赁小程序系统
  • Nevron Vision for .NET 2023.1 Crack
  • 基于Python的新浪微博爬虫程序设计与实现
  • Java架构师发展方向和历程
  • CUDA与GPU编程
  • C# 执行Excel VBA宏工具类
  • acwing算法基础之数学知识--求组合数基础版
  • SpringBoot中的classpath都包含啥
  • 新王加冕,GPT-4V 屠榜视觉问答
  • python之TCP的网络应用程序开发
  • Axios 拦截器 请求拦截器 响应拦截器
  • Mysql Shell笔记
  • Hive日志默认存储在什么位置?
  • Kafka 常用功能总结(不断更新中....)
  • 单链表相关面试题--5.合并有序链表
  • SV-7042VP sip广播4G无线网络号角
  • 基于OpenCV+MediaPipe的手势识别
  • YOLO目标检测——无人机航拍行人检测数据集下载分享【含对应voc、coc和yolo三种格式标签】
  • 数据提取PDF SDK的对比推荐
  • 【数据结构(C语言)】浅谈栈和队列
  • 【NGINX--5】身份验证
  • 【网络奇缘】- 计算机网络|分层结构|ISO模型
  • 使用whisper实现语音转文本
  • Django中间件与csrf