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

2023-11-06

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

一、多重采样抗锯齿(MSAA)

多重采样抗锯齿(MultiSampling Anti-Aliasing,简称MSAA),这是一种在OpenGL中的特殊的超级采样抗锯齿(SSAA),MSAA主要是对 Z-Buffer 和 Stencil Buffer(模板缓冲)进行SSAA处理,其原理是通过提取像素界面周围的颜色信息,通过混合颜色信息来消除高对比界面所产生的锯齿。只对多边形的边缘进行抗锯齿处理。
缺点
资源耗费,画质上有些不如一般的SSAA。

二、快速近似抗锯齿(FXAA)

快速近似抗锯齿(Fast Approximately -Aliasing,简称FXAA),是一种典型的边缘检查取样操作。FXAA原理与MSAA相同,其原理是通过提取像素界面周围的颜色信息,通过混合颜色信息来消除高对比界面所产生的锯齿。但是,FXAA将像素的提取和混合过程交由GPU 内的ALU(arithmetic and logic unit,算术逻辑单元)执行,所占用的显存带宽会 << 传统的MSAA。
优缺点
消耗低,速度快;但是是一种粗糙的模糊处理。

三、子像素增强抗锯齿(SMAA)

子像素增强抗锯齿(Enhanced Subpixel Morphological,简称SMAA),SMAA 与 FXAA类似,性能消耗小,但是相比FXAA更清晰。SMAA是后处理抗锯齿技术的一种,它的基本处理流程建立在Jimenez优化改造后的MLAA(形态学抗锯齿)算法之上。原始的MLAA是由英特尔实验室提出的抗锯齿技术,这项技术代表着后处理式抗锯齿蓬勃发展的开端。最初,MLAA是为CPU设计的,Jimenez对其进行改造并移植到GPU上,使其适用于实时渲染。SMAA则是在此基础上进一步发展而来的。
缺点
动态画面时,锯齿抖动厉害。

四、覆盖采样抗锯齿(CSAA)

覆盖采样抗锯齿(Coverage Sampling Anti-Aliasing,简称CSAA),这是一种覆盖的采样,它的原理是将边缘多边形里需要采样的子像素坐标覆盖掉,抒原像素坐标强制安置在硬件和驱动程序预告算好的坐标中。这就好比采样标准统一的MSAA,能够最高效率地执行边缘采样,交通提升非常明显,同时资源占用也比较低。
相比MSAA减少了带宽和存储开销。

五、时间性抗锯齿(TXAA)

让电影画质的游戏体验达到逼真水平。TXAA 抗锯齿比 MSAA和FXAA 以及 CSAA 的画质更高,制作CG电影的电影制片厂会在抗锯齿方面花费大量的计算资源,从而可确保观众不会因不逼真的锯齿状线条而分心。如果想要让游戏接近这种级别的保真度,那么开发商需要全新的抗锯齿技术,不但要减少锯齿状的线条,而且要减少锯齿状闪烁情形,同时还不降低性能。为了便于开发商实现这种保真度的提升,英伟达设计了画质更高的抗锯齿模式,名为TXAA.该模式专为直接集成到游戏引擎中而设计。

与CG电影中所采用的技术类似,TXAA集MSAA的强大功能与复杂的解析滤镜于一身,可呈现出更加平滑的图像效果,远远超越了所有同类技术。此外,TXAA还能够对帧之间的整个场景进行抖动采样,以减少闪烁情形,闪烁情形在技术上又称作时间性锯齿。

目前,TXAA有两种模式:TXAA 2X和TXAA 4X。TXAA 2X可提供堪比8X MSAA的视觉保真度,然而所需性能却与2X MSAA相类似;TXAA 4X的图像保真度胜过8XMSAA,所需性能仅仅与4X MSAA相当。

六、可编程过滤抗锯齿(CFAA)

  可编程过滤抗锯齿(Custom Filter Anti-Aliasing,简称CFAA),起源于AMD的R600家庭。简单地说CFAA就是扩大取样面积的MSAA,比方说之前的MSAA是严格选取物体边缘像素进行缩放的,而CFAA则可以通过驱动和谐灵活地选择对影响锯齿效果较大的像素进行缩放,以较少的性能牺牲换取平滑效果。显卡资源占用也比较小。

七、多帧采样抗锯齿(MFAA)

  多帧采样抗锯齿(Multi-Frame Sampled Anti-Aliasing,简称MFAA),与MSAA基于像素采样有所不同,MFAA是基于帧采样的,我们大致可以这么理解,MFAA是在相邻的两帧上各执行一次抗锯齿采样,然后通过NVIDIA自行开发的图像合成处理技术来整合采样结果,最后输出完成抗锯齿运算的图像。

参考博客1:http://dy.163.com/v2/article/detail/EJLOV3LL0525GR0F.html
参考博客2:https://blog.csdn.net/qezcwx11/article/details/78426052?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

抗锯齿相关技术介绍:MSAA、FXAA、SMAA、TXAA、MSAA 的相关文章

  • 如何用C/C++语言写Python的库或者模块?

    C C 是Python解释器的底层实现语言之一 因此可以使用C C 编写Python的扩展库或模块 Python提供了一系列API接口 使得我们可以在C C 中调用Python解释器和相关的数据结构 下面是一些简单的步骤 编写C C 函数
  • stm32学习笔记(三)软件仿真

    提前说说 32还在慢慢的学习 前几天都在看软件环境的搭建 工程搭建等 这些东西也是很重要的 所以自己耐心下来 一步一步看完了 今天来说说软件的仿真 自我感觉 软件仿真和C语言的调试比较像 就是一步一步看你代码的正确性 4 1 STM32F1
  • USB驱动基本概念

    1 概述 usb接口定义 usb引脚定义 Mini usb接口定义 Mini usb引脚定义 USB主控制器和usb设备的连接 由上图可以看出cpu通过操作挂在AHB总线上的usb主控制器去操作usb设备 因此驱动分为两部分 USB主控制器
  • 计组——大端方式和小端方式以及边界对齐相关题目

    大端方式和小端方式相关题目 1 大端方式和小端方式 2 边界对齐 3 真题嗅探 1 大端方式和小端方式 大端方式 现代人正常的阅读顺序 从左向右 小端方式 古代人的阅读顺序 联想一下对联横批或牌匾 从右至左 虽然小端方式是从右至左 但不是完
  • 【深度学习】Python实现CNN操作(附代码)

    文章目录 0 动机 1 Conv 2 MaxPool 3 Softmax 4 Train gt 参考 https zhuanlan zhihu com p 102119808 可以直接看这个 0 动机 通过普通的神经网络可以实现 但是现在图
  • 路由器OSPF动态路由配置(扩展版)

    实验7 路由器OSPF动态路由配置 扩展版 使用软件 Cisco Packet Tracer Student Multilayer Switch0 Switch gt Switch gt en Switch conf t Switch co
  • Unity中触发器(trigger)个人见解

    文章目录 前言 一 Trigger是什么 二 操作步骤 1 勾选is Trigger 2 函数 总结 前言 在 Unity 3D 中 检测碰撞发生的方式有两种 一种是利用碰撞体 另一种则是利用触发器 Trigger 一 Trigger是什么
  • vue-i18n国际化

    一前端vue的国际化 1 安装依赖 8是版本号 npm install vue i18n 8 2 在main js中修改以下内容 import VueI18n from vue i18n 通过 Vue use 明确地安装 vue i18n
  • 固定资产管理系统Java版-附后台源码和移动端源码和(Java版)图书管理系统-附前后台源码

    固定资产管理系统 固定资产管理系统 适合中小企业需求 对常用资产设备进行信息化管理 自定义支持各类设备 自带导入导出 维护工作统计 采购管理 文档管理 运维监控Zabbix 知识库功能等 PC效果图 移动端 由于项目源码体积大以及项目处于不
  • 缓慢渐变维

    实例说明1 缓慢变化的维 如你注册csdn账号是所填写的地址 电话等资料 你的地址会变化的 但是很久才会变一次 这就是一个缓慢变化维 请参见Type1 Type2 Type3 Type1 全覆盖 保持最新数据 keep most recen
  • 6-7 统计某类完全平方数 (20 分

    6 7 统计某类完全平方数 20 分 本题要求实现一个函数 判断任一给定整数N是否满足条件 它是完全平方数 又至少有两位数字相同 如144 676等 函数接口定义 int IsTheNumber const int N 其中N是用户传入的参
  • C#中[]的几种用法

    一 导入外部DLL函数 如 DllImport kernel32 dll 这叫引入kernel32 dll这个动态连接库 这个动态连接库里面包含了很多WindowsAPI函数 如果你想使用这面的函数 就需要这么引入 举个例子 DllImpo
  • 100个数据分析常用指标和术语

    有个朋友是金融行业产品经理 最近在对已有的站内用户做分层与标签分类 需要对用户进行聚类分析 一般从事数据分析行业的朋友对这类词并不陌生 但是像市场运营人员就会把这类些名词概念搞混 导致结果不准确 数据分析相关概念多且杂 容易搞混 为了便于大
  • 搜索引擎solr系列---core的创建及数据全量导入

    有关官方配置的步骤 我已经在这篇文章里写了 连接是官方配置solr步骤 一 solr下载及单节点的启动 配置说明 大家都知道 solr是首先要将数据建立出索引 而建立成的索引文件就存放到solrHome里 因为一个solr服务器因为需求 将
  • 高频交易数据如何产生和处理?

    证监会主席易会满出席第60届世界交易所联合会 WFE 会员大会时表示 在成熟市场 量化交易 高频交易比较普遍 在增强市场流动性 提升定价效率的同时 也容易引发交易趋同 波动加剧 有违市场公平等问题 万物均有一体两面 高频交易作为当前常见的交
  • ffmpeg源码编译vs2013版本

    完整版安装ffmpeg 一 安装choco 1 Set ExecutionPolicy AllSigned 2 Set ExecutionPolicy Bypass Scope Process Force System Net Servic
  • springboot @ConfigurationProperties和@value读取配置文件的内容

    这里先只介绍 ConfigurationProperties的用法 1 属性文件信息 2 java类
  • cause and effect essay

    cause and effect essay Introduction 2 sentences rewritten question introduction of specific topics Causes 4 5 sentences
  • Memcache是什么

    Memcache是什么Memcache是danga com的一个项目 最早是为 LiveJournal 服务的 目前全世界不少人使用这个缓存项目来构建自己大负载的网站 来分担数据库的压力 它可以应对任意多个连接 使用非阻塞的网络IO 由于它
  • 【linux】查看文件

    01 cat命令 语法 cat 选项 文件 功能 查看目标文件的内容 常用选项 b 对非空输出行编号 n 对输出的所有行编号 s 不输出多行空行 02 tac 命令 功能 与cat类似查看文件内容但是是反向输出 03 more指令 语法 m

随机推荐

  • ue4 Config ini 配置文件使用记录

    休息了一段时间出来码字了 这段时间通过接触国外的技术面试 让我更加坚定了一个想法 技术本身有高低 但我大可不必去追求这个技术本身的 高 产品本身更需要的是在开发迭代中发现问题 而不是仅仅纠结规范不规范的问题 有机会接触更简单 直接的表达当然
  • ToArray,CopyTo,List (IEnumerable collection)

    public class Stu public string Name get set void Main List
  • git如何查看项目的分支和转换分支来提交代码

    要查看Git项目中的所有分支 可以使用以下命令 git branch 该命令会列出当前仓库中所有本地分支 其中 带有 符号的分支表示当前所在的分支 要切换到特定的分支并提交代码 可以使用以下命令 git checkout
  • 【华为机试真题 JAVA】字符串重新排列-100

    题目描述 给定一个字符串s s包括以空格分隔的若干个单词 请对s进行如下处理后输出 1 单词内部调整 对每个单词字母重新按字典序排序 2 单词间顺序调整 1 统计每个单词出现的次数 并按次数降序排列 2 次数相同 按单词长度升序排列 3 次
  • 深入理解计算机系统Lab3实验

    目录 实验准备 实验资源的准备 生成ctarget等文件的反汇编代码 确定实验环境是大端还是小端 实验进行 Phase1 简述 测试 分析 目标 找到touch1的代码并重写 并且 找到getbuf 函数中 为Get 函数所开辟的字符串最大
  • 数据治理-数据质量-数据质量实施方法

    质量实施方法 数据质量领域研究学者和专家结合自身实践 先后提出了一系列质量管理得项目实施方法 其中以全面信息质量管理 全面数据质量管理 数据管理十步法 六西格玛等 与传统数据质量管理一样 数据GIGO规则仍然发挥作用 但在由于大数据的多样性
  • Python 套接字 Accept 超时

    套接字是网络通信的基本构建块 每当两个网络实体需要传输数据时 就会打开一个套接字 这些套接字在会话期间保持连接 但有时 在 Python 中使用套接字时 您可能会等待很长时间 而另一端仍然接受套接字连接 本文讨论了 Python 中套接字的
  • 好书推荐《R语言在定量金融中的应用》

    给大家推荐一本R语言在定量金融方面的好书 是我老师编写的 我也非常有幸参与到这本书的编写过程中 这本书2015年5月份正式上线 其实从2013年底开始写的 经历大约两年的时间 这本书一出来就收到了很大的关注 读者反映都很好 这本书本身是属于
  • HIVE中数据更新(update)操作的实现

    数据更新是一种常见的操作 然后数据仓库的概念一般要求的是数据是集成 稳定的 HIVE作为一种分布式环境下以HDFS为支撑的数据仓库 它同样更多的要求数据是不可变的 然而现实很多任务中 往往需要对数据进行更新操作 经查 Hive自0 11版本
  • 蓝牙模块四大天线方式

    在蓝牙产品中 天线与蓝牙模块的关系是相辅相成的 是一个除了作为核心的系统芯片外 天线是另一个具有影响蓝牙模块传输特性的关键性组件 首先简单概述什么是天线 天线是一种用来发送或者接收电磁波的器件 天线的作用 发射天线的作用是将发射机的高频电流
  • flex布局导致ellispsis失效

    问题描述 之前的文本超过长度省略文章中 讲到了如何通过CSS控制文本超过长度省略 但是在flex布局中 ellispis却失效了 举例说明 文档结构如下 div class container div class div 1 div div
  • 【Java 实现微信支付、Native 支付流程】,从编写代码到支付成功,一步到位!

    文章目录 1 项目环境介绍 2 微信支付文档 2 1 业务流程说明 3 准备信息 3 1 微信公众账号如何获取 3 2 商户号如何获取 3 3 API密钥如何获取 3 4 准备工具类 4 进入开发阶段 4 1 后端编写 生成微信支付二维码
  • 网格搜索(Grid Search)/超参搜索

    1 网格搜索法 网格搜索法 Grid Search 是一种在机器学习中用于确定最佳模型超参数的方法之一 在机器学习中 超参数是指在训练模型之前需要手动设置的参数 而不是通过学习过程中自动学习得到的参数 网格搜索法通过指定一个超参数的候选值列
  • softmax(三):softmax交叉熵的缺点

    还是废话不说 直接上峰神的链接 Softmax理解之Smooth程度控制 softmax交叉熵我们经常使用 但是为啥有的任务 用softmax交叉熵效果很好 有的任务用效果却不怎么样 在实际项目中 分析softmax交叉熵的缺点 才能知道
  • Activity MQ生产/消费和订阅/发布的区别

    1 在有多个消息接收者时 生产 消费模式下多个消费者会轮流消费队列中的消息 2 而订阅 发布模式下所有订阅者都会得到所有的消息 1 生产和消费 生产者生产消息放到队列里 多个消费者同时监听队列 谁先抢到消息谁就会从队列中取走消息 即对于每个
  • any_value()

    目录 any value ONLY FULL GROUP BY 查看ONLY FULL GROUP BY 解决方法 any value ONLY FULL GROUP BY MySQL5 7之后 sql mode中ONLY FULL GRO
  • gfortran版本

    gcc里面已经集成了gfortran吧
  • JDBC ResultSet获取Date类型相关

    前段时间发现用自己写的工具类获取数据库信息的时候 使用getString来获取数据库date类型的数据时 获取的格式为 yyyy mm dd hh mi ss z精度会一直到毫秒 这个实在是郁闷 而使用getDate来获取 则是只有日期没有
  • 【数据结构】动图详解二叉树——堆及堆排序

    需要云服务器等云产品来学习Linux的同学可以移步 gt 腾讯云 lt gt 阿里云 lt gt 华为云 lt 官网 轻量型云服务器低至112元 年 新用户首次下单享超低折扣 目录 一 树的概念 1 树的特征 2 树的相关名词 二 树的表示
  • 抗锯齿相关技术介绍:MSAA、FXAA、SMAA、TXAA、MSAA

    在图像处理中 锯齿一直是一个大问题 因此图像中的抗锯齿 Anti aliaing 简称AA 也被称为边缘柔化 消除混叠 抗图像折叠有损等 AA主要是处理图像有锯齿的边缘 使其图像更清晰清晰 下面有一些反锯齿的常用技术 一 多重采样抗锯齿 M