反走样不好做

仅仅是直线的反走样,也做不出完美的效果。我现在的 filter 大约是距离规约到 0..1 (竖直方向是超过宽度-0.5 .. +0.5 ,水平方向是超过高度 -0.75..+0.75) 后, 再 alpha=1-sin((1-alpha)*pi/2)
但是这个效果跟书上的最简单的程序也差不多。。。
 
问题也很多,例如在黑色的背景里面画一条白色的线,那条线就会有一些暗纹。 再比如在蓝色的粗线上做一条红色粗线跟它相交, 两者相交处边缘部分, 由于红色和蓝色的分量都有, 但是都只有一半左右, 结果会出现深色的一条细线。
 
就这样了,懒得再改了。。
 
比较好的做法应该是计算点在线中,用一个 Cone weighting function 来加权后的面积比例,基本上是越中心的位置权重越高。但是我懒得写这个。。。
但是我觉得针对不同的颜色应该有不同的处理方法。因为即使用上面说的方法, 那种深色细线的问题似乎还是会出现。这个要实验一下才能肯定。。
此条目发表在未分类分类目录。将固定链接加入收藏夹。

留下评论