今天组里同学询问关于抗锯齿的问题,我尽量简化成人话方便理解。
关于抗锯齿的技术有很多种,有的基于硬件,有的则完全依赖算法计算。总的来说,锯齿是软硬件沟通差异导致的问题,是开发者最常见的问题之一。
实际上很多引擎或三维包都自带抗锯齿算法,比如FXAA, MSAA, SSAA等。知道其中原理有助于我们因地制宜地选择相应技术实现甲方的无耻需求,也可以方便的实现自己下流的目的。

SSAA

图像缩放抗锯齿技术。
原理:
输出屏幕结果时,先生成一个更大分辨率的图像,然后再缩放成为目标分辨率图像。由于最终输出的每个像素都是由多个精确像素合并得到的,属于一种通杀的方案,不管是不是边缘都会进行计算,所以这个效果最好,也是性能最差的。

MSAA

模型边缘抗锯齿技术。
原理:一种硬件抗锯齿技术。在顶点渲染器光栅化阶段,根据深度获取需要处理的边缘再做抗锯齿处理。
相比ssaa那种全屏抗锯齿,MSAA只对边缘进行处理,所以性能会好很多。MSAA的缺陷在于,虽然节省了被覆盖或是除边缘外的像素计算,但如果有相同颜色的边重合等一些不需要进行抗锯齿的像素也会被进行计算。所以在多边形较多的场景中还是会有性能浪费。

FXAA抗锯齿11

后期边缘检测抗锯齿技术。
原理:一种后期抗锯齿技术,基本思路就是取得已经渲染完成的画面,进行使用卷积或相邻颜色差等方法进行边缘检测,然后针对被检测出来的边缘进行边缘模糊处理。这种方案性能最好,但由于边缘检测的精度和深度问题,效果和精度是有偏差的。

Anti-Aliasing抗锯齿 SSAA MSAA FXAA三维游戏抗锯齿技术浅谈相关推荐

  1. 关闭Anti Aliasing 的情况下单独对3D模型抗锯齿

    公司的Unity 2.5D游戏,场景基本上都是2D Sprite铺成的,但主角是3D的,不开MSAA的话,3D主角锯齿特别明显,开MSAA的话帧数下降的厉害,所以尝试着对主角单独做了处理. 解决方案: ...

  2. D3D11中的硬件反锯齿 SSAA/MSAA/EQAA/CSAA(3)

    五 .EQAA/CSAA EQAA(enhanced quality AA)和CSAA(coverage sample AA)其实是同样的采样技术,EQAA是AMD的实现,CSAA是NV的实现,下面我 ...

  3. 三角测量计算三维坐标的代码_浅谈三维扫描仪的由来

    随着人类的发展,每一款新型产品的由来都是工业革命的产物,人们发明的任何一个产品都是要服务于人类并创造出更多的价值:其中三维扫描仪的出现也是为了满足于人类的需要而产生的,在传统的测量中接触式测量是出现最 ...

  4. 第二十三课,抗锯齿(Anti Aliasing)

    Anti Aliasing(ˈænti ,ˈeliəsɪŋ )反走样 文章目录 超采样抗锯齿(Super Sample Anti-aliasing, SSAA) 多重采样抗锯齿(Multisample ...

  5. Anti aliasing 抗锯齿 后期处理系列5

    Anti aliasing 抗锯齿 本文档主要是对Unity官方手册的个人理解与总结(其实以翻译记录为主:>) 仅作为个人学习使用,不得作为商业用途,欢迎转载,并请注明出处. 文章中涉及到的操作 ...

  6. OpenGL 抗锯齿Anti Aliasing

    OpenGL抗锯齿Anti Aliasing 抗锯齿Anti Aliasing简介 多重采样 OpenGL中的MSAA 离屏MSAA 多重采样纹理附件 多重采样渲染缓冲对象 渲染到多重采样帧缓冲 自定 ...

  7. Learn OpenGL 笔记5.11 Anti Aliasing(抗锯齿)

    这种清晰地看到边缘组成的像素结构的效果称为锯齿. 有很多称为抗锯齿技术的技术可以通过产生更平滑的边缘来对抗这种锯齿行为.(小时候打开一个新游戏,第一件事情就是把抗锯齿给关了,开抗锯齿太卡了) 起初,我 ...

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

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

  9. OpenGL - Anti Aliasing

    离近仔细观察立方体的边缘,会发现模型边缘有锯齿的情况.这些锯齿边缘(Jagged Edges)的产生和光栅器将顶点数据转化为片段的方式有关. 光栅器是位于最终处理过的顶点之后到片段着色器之前所经过的所 ...

最新文章

  1. 工作三年,我眼中的‘企业’网络管理员(非苦水)
  2. Android中关于APK文件的下载、安装和卸载
  3. php 匹配双字节字符串,收集一些常用的正则表达式(匹配中文字符、匹配双字节字符、匹配HTML标记、匹配空行 and so on~~~)...
  4. php-fpm 进程在云服务器cpu分配不均匀
  5. CleanCodeHandbook Chapter 1: Array/String(1-16)
  6. OpenCV学习笔记(二十六)——小试SVM算法ml
  7. 人大金仓数据库软件下载
  8. ping C语言实现
  9. 40 if 虚拟条件句(虚拟语气)假设现在
  10. 逻辑与、逻辑或||和逻辑非!
  11. 用计算机三角函数公式,电脑是通过什么公式计算出三角函数的?
  12. 基于MATLAB的R方计算
  13. 服务器安装windows2016选择磁盘时报错不能将系统安装到此盘符
  14. java--类单继承多实现,接口多继承
  15. java读取pdf总结
  16. 任正非谈接班人要求:要具有对新技术与客户需求的深刻理解
  17. verilog-pcie
  18. DQL数据查询语言--select的巧妙用法
  19. Activiti应用
  20. salesforce 定时任务遇到的坑

热门文章

  1. contentProvider实现groupby查询数据比如要用实现这么一个sql语句:SELEC
  2. [CVPR2019](D3DFR)Accurate 3D Face Reconstruction with Weakly-Supervised Learning From Single Image
  3. Python之tkinter 菜单 Menu
  4. SolidWorks_机甲大师——麦克纳姆轮设计
  5. 电力建设行业未来前景如何
  6. windows右下角弹广告怎么办?
  7. 6、Qt QSS界面美化
  8. RuntimeError: Given input size: (256x4x4). Calculated output size: (256x0x0). Output size is too sma
  9. Workbench网格划分(2)
  10. freeswitch和sofia-sip中关于sip的消息机制