首页 > 其他 > 详细

光栅化规则(Rasterization Rules)

时间:2015-10-20 15:17:50      阅读:167      评论:0      收藏:0      [点我收藏+]

光栅化规则不是唯一的,只要能满足在扫描线填充过程中,对于一条分割线两边的像素能够被不重复不遗漏地填充即可。

在gdi3d中目前使用的是下面光栅化规则:

xLeft_int=ceil(xLeft-0.5)
xRight_int=ceil(xRight-1.5)
yTop_int=ceil(yTop-1.5)
yBottom_int=ceil(yBottom-0.5)

下面验证上面规则是满足不重复不遗漏的,如图:

技术分享

先验证纵向上不重复不遗漏:

(1),假设上面三角形的yBottom=0.5,则下面与之共边的三角形的yTop=0.5,则

yBottom_int=ceil(yBottom-0.5)=ceil(0.5-0.5)=0

yTop_int=ceil(yTop-1.5)=ceil(0.5-1.5)=-1

即上面三角形填充第0行,下面三角形填充第-1行。两行正好相邻,不重复不遗漏。

(2),假设上面三角形的yBottom=0.4,则下面与之共边的三角形的yTop=0.4,则

yBottom_int=ceil(yBottom-0.5)=ceil(0.4-0.5)=0

yTop_int=ceil(yTop-1.5)=ceil(0.4-1.5)=-1

即上面三角形填充第0行,下面三角形填充第-1行。两行正好相邻,不重复不遗漏。

(3),假设上面三角形的yBottom=0.6,则下面与之共边的三角形的yTop=0.6,则

yBottom_int=ceil(yBottom-0.5)=ceil(0.6-0.5)=1

yTop_int=ceil(yTop-1.5)=ceil(0.6-1.5)=0

即上面三角形填充第1行,下面三角形填充第0行。两行正好相邻,不重复不遗漏。

同理可验证横向上也是不重复不遗漏的。

 

----

参考:https://msdn.microsoft.com/en-us/library/windows/desktop/cc627092(v=vs.85).aspx

光栅化规则(Rasterization Rules)

原文:http://www.cnblogs.com/wantnon/p/4894597.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!