答narkau关于锯齿效应

科普文章,欢迎阅读:)

计算机的显示系统实际就是点阵,每个点称作像素(pixel)。所以在表现非水平竖直的直线必然会出现锯齿现象aliasing(又或者称混淆、走样)。

抗锯齿(反混淆)只能缓解这种效果,并以绘制速度为代价。方法是:
1、提高分辨率--基本属于P话...
2、使用抗锯齿算法(anti-aliasing,AA),一般是通过颜色缓慢渐变来欺骗你的眼睛。有点、直线、多边形的抗锯齿,也有全屏抗锯齿(FSAA)。

这是全屏抗锯齿的对比效果(下面为开启FSAA):

FSAA.jpg

这是我写的一个直线抗锯齿的算法模拟,可以下载看看(39KB)。
http://nonleaf.net/wp-content/uploads/AA_Line.rar

随机文章:

答narkau关于锯齿效应》上有 12 条评论

  1. 看了一下。。。疑问还是有的。。不过不知道在哪里。。

    你知道photoshop里用的是哪种抗锯齿方式,,,为啥我在里头画一条线(1Pix)放大到最大的时候跟你的这个看起来很不一样。。。

    而且你说的{点/直线/多边形/全屏(面?)}抗锯齿,指的是针对不同类对象的不同的抗锯齿算法(?),还是指针对不同对象的同一种抗锯齿算法呢?啊,,我希望我表达清楚了我的意思。。>_

  2. to narkau: 我在ps里面画直线放大效果差不多啊,要不你在blog里面贴图...

    确实有针对简单形状的抗锯齿算法,而且显然算法不太一样。但是原理都是平滑的渐变颜色。比如直线是通过把像素分割成子像素的方法,全屏是通过微移整个图像,然后叠加颜色实现的。全屏显然速度慢,对硬件要求高。

  3. to narkau: gg你太细致了,具体算法层次了。一般讲,如果抗锯齿宽度指的就是中心高亮区域。而且为了计算简便,斜率在-1到1之间的按照竖直宽度算,其余按照水平线宽(水平线和有宽度直线相交的长度)。

    你那个图画笔抗锯齿,铅笔没有。和我的意思差不多的啊?不过ps的效果更好一些。

    你好时髦呵,都用flickr.com了,我还没用过555。。。

  4. 哈,明明就是很大的bug..咋叫“算是个bug”。。*_^..你去提交一下吧,。。嘎嘎

    我只是觉得他比较可嘛。。不过某人说了,没有他可。。hoh...

发表评论

电子邮件地址不会被公开。

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>