反走样

2024-01-04 19:48
文章标签 走样

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

http://www.devbean.net/2012/11/qt-study-road-2-antialiasing/

我们在光栅图形显示器上绘制非水平、非垂直的直线或多边形边界时,或多或少会呈现锯齿状外观。这是因为直线和多边形的边界是连续的,而光栅则是由离散的点组成。在光栅显示设备上表现直线、多边形等,必须在离散位置采样。由于采样不充分重建后造成的信息失真,就叫走样;用于减少或消除这种效果的技术,就称为反走样。

反走样是图形学中的重要概念,用以防止通常所说的“锯齿”现象的出现。很多系统的绘图 API 里面都内置了有关反走样的算法,不过由于性能问题,默认一般是关闭的,Qt 也不例外。下面我们来看看代码:

看看运行后的结果:

Qt 反走样示例

注意看左侧椭圆与右侧椭圆在边界处的区别。左侧没有使用反锯齿,明细显示出锯齿的样子;右侧则增加了反锯齿代码。

在这段代码中,我们创建了一个黑色 5 像素宽的画笔,使用了点线的样式,圆形笔帽:

然后我们使用一个黄色的画刷填充,绘制一个椭圆。

第二个椭圆的绘制与第一个十分相似,唯一的区别是多了一句

显然,我们通过这条语句,将Antialiasing属性(也就是反走样)设置为 true。经过这句设置,我们就打开了QPainter的反走样功能。还记得我们曾经说过,QPainter是一个状态机,因此,只要这里我们打开了它,之后所有的代码都会是反走样绘制的了。由于反走样需要比较复杂的算法,在一些对图像质量要求不是很高的应用中,是不需要进行反走样的。为了提高效率,一般的图形绘制系统,如 Java2D、OpenGL 之类都是默认不进行反走样的。

虽然反走样比不反走样的图像质量高很多,但是,没有反走样的图形绘制还是有很大用处的。首先,就像前面说的一样,在一些对图像质量要求不高的环境下,或者说性能受限的环境下,比如嵌入式和手机环境,一般是不进行反走样的。另外,在一些必须精确操作像素的应用中,也是不能进行反走样的。这是由于反走样技术本身的限制的。请看下面的图片:

Photoshop 走样与反走样对比

这是使用 Photoshop 的铅笔和画笔工具绘制的 1 像素的点,放大 3200% 的视图。在一定程度上,我们可以认为,Photoshop 的铅笔工具是不进行反走样,而画笔是要进行反走样的。在放大的情况下就会知道,有反走样的情况下是不能进行精确到 1 像素的操作的。因为反走样很难让你控制到 1 个像素。这不是 Photoshop 画笔工具的缺陷,而是反走样算法的问题。反走样之所以看起来比较模糊,就是因为它需要以一种近似色来替换原始的像素色,这样一来就会显得模糊而圆滑。

这篇关于反走样的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

计算机图形学入门08:反走样、滤波与卷积

1.抗锯齿(反走样)         在上一章中,在光栅化三角形的时候出现了明显的锯齿效果。如下图所示是三角形采样过程:         从图上可知像素点不是纯红色就是纯白色。如果在采样前先进行模糊操作(滤波),如下图所示:         经过模糊操作后三角形的边缘颜色变化有了一定的过渡,再进行采样时,靠近三角形边缘的地方可以采到一部分过渡色的像素,采样结果不在是要么红色要么白色,

现代计算机图形学笔记(四)——反走样、抗锯齿

上节课我们判像素点是否在三角形内得到了三角形光栅化的结果,但是这样得到的三角形会产生严重的锯齿现象(走样Aliasing),这节课我们就来讨论抗锯齿(反走样Anti-Aliasing) 产生这样瑕疵(Artifacts)的原因是由于我们对三角形进行了采样(Sampling)。而采样会造成Artifacts的原因是图像或信号变化的太快了,而采样的速度太慢。 针对采样造成的走样问题,我们可以先

什么是shader aliasing着色器走样

计算机图形学技术 见 计算机图形学技术 所谓着色器走样,我们考虑像素着色器上的像素点: 加入我们要对每个像素值进行同一种线性操作,比如,值乘以两倍,这没关系对吧,大家一起亮两倍,不会有偏差。 但是大部分操作都是非线性的,就可能因为插值造成走样,本质上是像素着色器改变了频率。 在法线贴图中,用法线纹理计算光照时,就会加剧这种现象: 根本原因在于着色器中对光源采样不足(按照渲染方程,

WU反走样算法

WU反走样算法 由离散量表示连续量而引起的失真称为走样,用于减轻走样现象的技术成为反走样,游戏中称为抗锯齿。走样是连续图形离散为想想点后引起的失真,真实像素面积不为 零。走样是光栅扫描显示器的一种固有现象,只能减轻,不可避免。 原理 Wu 反走样算法是对距离进行加权的反走样算法。 空间混色原理指出,人眼对某一区域颜色的识别是取这个区域颜色的平均值,Wu 反走样算法原理是对理想直线上的任

WU反走样算法

WU反走样算法 由离散量表示连续量而引起的失真称为走样,用于减轻走样现象的技术成为反走样,游戏中称为抗锯齿。走样是连续图形离散为想想点后引起的失真,真实像素面积不为 零。走样是光栅扫描显示器的一种固有现象,只能减轻,不可避免。 原理 Wu 反走样算法是对距离进行加权的反走样算法。 空间混色原理指出,人眼对某一区域颜色的识别是取这个区域颜色的平均值,Wu 反走样算法原理是对理想直线上的任

性能优化之AA反走样优化

反走样主要是解决采样不足导致的。一般方案选择需要兼顾画面质量与渲染效率权衡的前提下,对图像进行增强。反走样经过了第一代超级采样抗锯齿SSAA,到第二代的多重采样抗锯齿MSAA,快速近似采样FXAA,增强子像素变形抗锯齿SMAA,目前逐步被第三代时间序列抗锯齿TAA替代。         目前unity的URP下,主要还停留在第二代,第三代TAA官方unity还处于开发者,实际效果

Artifacts 瑕疵,频率方面的基础知识,傅里叶变换,卷积 ,从频率的角度看采样,减少走样的方法,深度缓存 Z-Buffer

Artifacts 瑕疵 在计算机图形学中Artifacts(瑕疵)指的是Errors / Mistakes / Inaccuracies 采样产生的Artifacts 锯齿 摩尔纹 Moire Pattterns(去掉图像的奇数行和奇数列)—— 由欠采样undersampling造成 产生Artifacts 的原因 很多Artifact产生的原因是信号变换太快而采样太慢 一