抗锯齿技术简介

2024-09-08 08:18
文章标签 技术 简介 抗锯齿

本文主要是介绍抗锯齿技术简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

虽然3D图形渲染技术的飞速进步给我们带来了一次次的视觉震撼,电影级的画面早已经不是遥远的梦想,但电脑在计算3D画面时所出现的锯齿效果仍是不可避免的,这种效果在物体边缘最为明显。画面上那些跳牙咧嘴的锯齿每每令我们如蟹在喉,不吐不快。为了消除这些碍眼的锯齿,抗锯齿技术应运而生,并在图形处理技术不断发展的推动下日趋成熟和完善。


1. FSAA抗锯齿技术


最早的抗锯齿技术来自于3DFX,名为FSAA (FuliSceneAnti-aliasing,全屏抗锯齿)。我们都知道,画面的分辨率越高,锯齿感就越不明显,FSAA也正是运用了这个原理。这项技术主要是将需要渲染的图像台辨率提升了一倍,来达到消除锯齿的效果。不过因为过于消耗显卡资源,加之当时受制于显卡的性能,无论是收购了3DFX的NVIDIA还是后来的 AMD,都没有继续沿用FSAA,而是在此基础之上推出了SSAA(SuperSampling Anti-Aliasing, 超级采样抗锯齿)、MSAA ( MultiSampling Anti-Aliasing,多重采样抗锯齿)、CSAA (CoverageSam piing Anti-Aliasing,覆盖采样抗锯齿)、CFAA (Custom Filter Anti-Aliasing,可编程过滤抗锯齿)技术。FSAA几经衍生仍然逃脱不了被新技术掩盖的事实,在MSAA过了辉煌的时候,我们迎来了新的抗锯齿技术,这就是MLAA技术!


2.MLAA抗锯齿技术


MLAA (morphological antialiasing,形态抗锯齿)是一种针对延迟渲染的后处理抗锯齿技术,最早是由Intel推出,目前NVIDIA、AMD的GPU及新游戏 也都支持此算法。


这种抗锯齿技术和常见的抗据齿技术不同,是在每一帧画面渲染结束后再进行处理,而且只是将图案的轮廓线模糊(注意:不是几何模型的轮廓线模糊),所以对显卡的需求理论上比普通抗锯齿要小,这样可以在多物体渲染时不会对系统造成太大的负担。而且由于MLAA是纯粹的后期处理,因此兼容性相当出色,可以被使用在各种渲染万法中和任何真他抗锯齿模式叠加,比如MLAA+ MSAA的处理等。


3.SRAA抗锯齿技术


SRAA的英文是Subpixel Reconstruction Antialiasing for Deferred Shading,中文意思为子像素重构抗锯齿技术。与MLAA一样,SRAA也是后处理渲染,但SRAA在抗锯齿的选择上与 MLAA有所不同。相对MLAA,SRAA技术进行了重要改进:对着色点的采样使用接近屏幕分辨率的级别,对于几何体的采样则提高精度,然后使用重构过滤器来提供一个近似估计的超分辨率图像,这个超分辨率图像被过滤处理后,成为与原始屏幕分辨率相罔的图像,从而避免了特定种类的过度模糊的问题。由于几何样本相较全着色计算而言所耗资源要小许多,所以SRAA能够用少得多的着色操作, 来实现逼近SSAA的画面质量,可以在保持算法性能的条件下生成与16xSSAA相媲美的画面。


4.SMAA抗锯齿技术


SMAA技术的全称为 Enhanced Subpixel Morphological Antialiasing,增强型子像素形态学反锯齿,与FXAA一样同为后期处理抗锯齿技术,可以提供基于过滤算法的通用图像抗锯齿解决万案。


SMAA技术来源于MLAA,墓本处理流程建立在Jimenez优化改造后的MLAA算法之上。SMAA改进的边缘、模式检SMAA画质、性能对比测,可以对MLAA无法实现的抗锯齿处理部分进行抗锯齿处理,因此效果更为优秀—SMAAS2x模式带来的抗锯齿画质,已经和SSAA 16x不相上下,而速度则和之前抗锯齿速度最快的MLAA相当。


当然,SMAA也并非完全没再缺点。由于SMAA锯齿检测特征数量比MLAA多16倍,因此为了降低性能损耗,SMAA自然要对对比度上的纹理进行降级采样和双线性过滤来取代三线性乃至各向异性过滤,这导致SMAA处理地部分场景时阴影和纹理会出现模糊不清的情况,清晰度不如MLAA和SSAA 16x。当然,瑕不掩瑜,能同时拥有SSAA 16x抗锯齿效果和MLAA的抗锯齿速度,SMAA牺牲这点画质所造成的问题并不算大。


可以说,随着玩家要求不断提高,抗锯齿技术也在快速发展中。虽然新一代抗锯齿技术所实现的效果与完美画质还有一定的差距,但我们相信随着开发人员的努力,终有一天游戏将是一个完全没有锯齿的虚拟世界!
本文由我的电脑http://www.wwwics.com整理,欢迎免费下载

这篇关于抗锯齿技术简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1147591

相关文章

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

业务协同平台--简介

一、使用场景         1.多个系统统一在业务协同平台定义协同策略,由业务协同平台代替人工完成一系列的单据录入         2.同时业务协同平台将执行任务推送给pda、pad等执行终端,通知各人员、设备进行作业执行         3.作业过程中,可设置完成时间预警、作业节点通知,时刻了解作业进程         4.做完再给你做过程分析,给出优化建议         就问你这一套下

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

系统架构设计师: 信息安全技术

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 系统架构设计师: 信息安全技术前言信息安全的基本要素:信息安全的范围:安全措施的目标:访问控制技术要素:访问控制包括:等保

容器编排平台Kubernetes简介

目录 什么是K8s 为什么需要K8s 什么是容器(Contianer) K8s能做什么? K8s的架构原理  控制平面(Control plane)         kube-apiserver         etcd         kube-scheduler         kube-controller-manager         cloud-controlle

前端技术(七)——less 教程

一、less简介 1. less是什么? less是一种动态样式语言,属于css预处理器的范畴,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS 更易维护和扩展LESS 既可以在 客户端 上运行 ,也可以借助Node.js在服务端运行。 less的中文官网:https://lesscss.cn/ 2. less编译工具 koala 官网 http://koala-app.

【Tools】AutoML简介

摇来摇去摇碎点点的金黄 伸手牵来一片梦的霞光 南方的小巷推开多情的门窗 年轻和我们歌唱 摇来摇去摇着温柔的阳光 轻轻托起一件梦的衣裳 古老的都市每天都改变模样                      🎵 方芳《摇太阳》 AutoML(自动机器学习)是一种使用机器学习技术来自动化机器学习任务的方法。在大模型中的AutoML是指在大型数据集上使用自动化机器学习技术进行模型训练和优化。

Spring的设计⽬标——《Spring技术内幕》

读《Spring技术内幕》第二版,计文柯著。 如果我们要简要地描述Spring的设计⽬标,可以这么说,Spring为开发者提供的是⼀个⼀站式的轻量级应⽤开发框架(平台)。 作为平台,Spring抽象了我们在 许多应⽤开发中遇到的共性问题;同时,作为⼀个轻量级的应⽤开发框架,Spring和传统的J2EE开发相⽐,有其⾃⾝的特点。 通过这些⾃⾝的特点,Spring充分体现了它的设计理念:在