抗锯齿 - 未加权区域采样

时间:2017-01-23 06:39:29

标签: c++ pixel antialiasing bresenham

我目前正在尝试将抗锯齿功能纳入我的线条绘制算法(DDA和Bresenham),教授已经指示我允许使用任何抗锯齿技术,所以我做了一些研究,似乎未加权区域采样是一条很好的路线。

我阅读了它的工作原理,我会说我有大约70-80%的理解,但我不明白决定“远”的基本概念应该寻找潜在的像素消除别名或只是阴影以产生抗锯齿效果。

对于未加权区域采样,我们“想象”围绕我们希望绘制的线的1像素宽度矩形,并且落在该虚构矩形内的任何像素将以与其覆盖的区域成比例的颜色着色。

所以我的具体问题是:

1)如果我当前在像素(x1,y1)上并且我决定要点亮(x1 + 1,y)处的像素,我该如何“发现”应该是新像素周围的像素反锯齿?

2)跟进问题1)我如何知道像素是否在我们想象的虚构矩形范围之内或之外?

编辑:

我读过一个用户暗示的某个地方,你可以在Bresenham中使用中点算法来做这个未加权的采样,但我无法了解如何。

0 个答案:

没有答案