执行基于图块的路径渲染的方法和设备的制造方法_3

文档序号:9579881阅读:来源:国知局
地确定为第一初始值WNinit—卩运算单元110可按照每个图块将第一初始值WNinit l存储在本地存储器150中。
[0131]如参照图5所描述的,当路径数据包括关于多条路径的信息时,运算单元110通过顺序地考虑所述路径来设置图块的初始值。如上参照图8至图9C所描述的,由于运算单元110基于第一路径e。的位置和前进方向获取第一初始值WN init—P因此,运算单元110通过基于第二路径ei的位置和前进方向更新第一初始值WN imt l,获取第二初始值WNinit—2。
[0132]下面参照图1OA至图1lC描述运算单元110从包括在帧910中的图块之中选择第二路径ei穿过的图块并获取每个图块的第二初始值WN init—2的示例。
[0133]图1OA和图1OB示出根据本实施例的运算单元100从包括在帧中的图块之中选择第二路径ei穿过的图块并且获取图块的第二初始值WN init—2的示例。
[0134]图1OA示出第二路径θι。第二路径61是从顶点P:至顶点P 2的直线路径。因此,可以看到,第二路径^是顺时针方向的路径。
[0135]运算单元110从包括在帧中的图块之中选择第二路径ei穿过的图块1020。运算单元110选择图块1020所使用的方法与上面参照图7A至图7E描述的方法相同。运算单元110针对选择的图块1020的每个图块产生指示第二路径^穿过图块的信息“Edge_List”,并将该信息存储在本地存储器150中。对于已经如上面参照图6描述的那样被产生了信息Edge_List的图块,第二路径G1穿过图块的信息被附加地存储在先前产生的信息Edge_List中。在图1OB的图块1020上标记的“eQ、ei”或“e/’表示包括在每个图块1020的信息Edge_List中的信息。换言之,标记有“e。”和的图块是第一路径e。和第二路径e总二者都穿过的图块。此外,标记有“e/’的图块是第二路径ei穿过的图块。
[0136]运算单元110将第二初始值WNinit—2分配给位于选择的图块1020的一侧的每个图块1031。运算单元110获取每个图块1031的第二初始值WNinit—2所使用的方法与上面参照图8至图9C描述的方法相同。换言之,由于第二路径时针方向地穿过图块1020,运算单元110通过将每个图块1031的第一初始值WNinit—i加上I来获取第二初始值WNinit—2。对于位于包括第二路径ei起始的顶点P i的图块的左侧的图块1033,运算单元110考虑穿过图块的第一路径%和第二路径e:的形状来获取第二初始值WN init—2。下面参照图1lA至图12描述运算单元110获取每个图块1033的第二初始值WNinit—2的示例。在包括在帧中的图块之中,除了图块1031之外的图块的每个的第一初始值WNinit l被没有改变地确定为第二初始值WNinit—2。运算单元110可按照每个图块将第二初始值WNinit 2存储在本地存储器150中。
[0137]此外,如上面参照图8所描述的,运算单元110延迟针对位于包括第二路径&结束的顶点P2的图块的左侧的图块1032的第二初始值WNinit—2的计算。运算单元110考虑穿过图块的第二路径ei和第三路径e 2的形状来获取每个图块1032的第三初始值WN init—3。
[0138]图1lA至图1lC示出根据实施例的由运算单元110考虑两条或更多条路径的前进方向分配初始值的规则的示例。
[0139]图1lA示出两条或更多条路径1111顺时针方向(即,从顶部到底部)地穿过图块1121的彼此面对的两个边界的情况。图1lB示出两条或更多条路径1112逆时针方向(即,从底部到顶部)地穿过图块1122的彼此面对的两个边界的情况。图1lC示出两条或更多条路径1113经由图块1123的一个边界进入并离开的情况。
[0140]例如,参照图8至图10,第一路径e。结束的顶点和第二路径e i开始的顶点这二者都是顶点情况对应于图11C。
[0141]图1lA至图1lC示出的图块1121、1122和1123可以是通过组合两个或更多个图块获取的图块。例如,当路径穿过的两个或更多个图块沿水平方向被连续地提供时,所述两个或更多个图块可被认为是在图1lA至图1lC中分别示出的图块1121、1122和1123之一。
[0142]下面参照图12描述三条路径穿过的图块的示例。
[0143]图12示出根据实施例的运算单元110设置三条路径穿过的图块的初始值的示例。
[0144]参照图12,示出8X8的图块形成的帧1210以及具有星形的对象1220。对象1220包括五条路径eQ、e1、e2、e3、e4。路径e2和路径e3进入包括在帧中的一些图块1230,并沿水平方向穿过。由于路径e2和路径e 3没有穿过图块1230的彼此面对的边界或者经由一个边界进入并离开,因此上述路径没有落入图1lA至图1lC的规则之下。因此,位于图块1230的一侧(例如,左侧)的每个图块1240的初始值胃队…没有被设置为被延迟。
[0145]当包括在对象1220中的一条路径进入图块1230时,运算单元110延迟对位于图块1230的一侧的每个图块的初始值WNinit的设置,直到包括在对象1220中的另一条路径从图块1230离开。例如,当路径%进入图块1230时,即使下一路径e 3沿水平方向穿过包括在帧中的图块1230中的一些图块,运算单元110也延迟对位于图块1230的一侧的每个图块的初始值胃队-的设置。随后,当路径e 4从图块1230离开时,运算单元110设置位于图块1230的一侧的每个图块的初始值WNinit。
[0146]换言之,运算单元110根据穿过图块1230的三条路径e2、e3、e4的形状,设置位于图块1230的一侧的每个图块的初始值WNinit。运算单元110可根据图1lA至图1lC所示的规则来设置每个图块的初始值WNinit。
[0147]参照图11A,当两条或更多条路径1111顺时针方向(从顶部到底部)地穿过图块1121的彼此面对的两个边界时,运算单元1110将位于图块1121的左侧的所有图块1131的初始值或初始卷绕数加I。
[0148]参照图11B,当两条或更多条路径1112逆时针方向(从底部到顶部)地穿过图块1122的彼此面对的边界时,运算单元1110将位于图块1122的左侧的所有图块1132的初始值或初始卷绕数减去I。
[0149]参照图11C,当两条或更多条路径1113顺时针方向地进入并离开图块1123的一个边界时,运算单元1110将位于图块1123的左侧的所有图块1133的初始值或初始卷绕数加O,或者没有改变地保持初始值或初始卷绕数。
[0150]尽管在图1lA至图1lC中,运算单元110在路径顺时针方向地穿过图块时将初始值或初始卷绕数加上1,并且在路径逆时针方向地穿过图块时将初始值或初始卷绕数减去1,但是本实施例不限于此。在一个示例中,当路径顺时针方向地穿过图块时,运算单元110可将初始值或初始卷绕数减去1,当路径逆时针方向地穿过图块时,运算单元I1可将初始值或初始卷绕数加上I。
[0151]返回参照图8和图10A,由于通过连接第一路径e。和第二路径e 1获取的路径从包括顶点P1的图块的下侧进入,并经由下侧离开。因此,运算单元110将每个图块1033的第二初始值WNinit—2保持为与第一初始值WN init—i相同的O。
[0152]图1OB示出基于第一路径e。和第二路径e i获取的第二初始值WN init—2。在图1OB的图块104U1042和1043指示的值或“I”表示图块104U1042和1043的第二初始值WNinit—2。此外,尽管在图1OB中没有示出,但是包括在帧中的图块之中除了图块1041、1042和1043之外的图块的每个图块的第二初始值WNinit 2为与初始卷绕数相同的O。
[0153]如上参照图1OA至图1lC所描述的,由于运算单元110基于第二路径&的位置和前进方向获取第二初始值WNinit—2,因此运算单元110通过基于第三路径%的位置和前进方向更新第二初始值WNinit—2来设置第三初始值WN init—3。
[0154]下面参照图13A和图13B描述运算单元110从包括在帧1110中的图块之中选择第三路径%穿过的图块并且获取位于选择的图块的一侧的图块的第三初始值WN init—3的示例。
[0155]图13A和图13B示出根据本实施例的运算单元110在包括在帧中的图块中选择第三路径e2穿过的图块并获取每个图块的第三初始值WN init—3的示例。
[0156]图13A示出第三路径e2。第三路径%是从顶点P 2连接到顶点P。的直线路径。因此,可以看出第三路径e2是顺时针方向旋转的路径。
[0157]运算单元110从包括在帧中的图块中选择第二路Se1穿过的图块1320。运算单元110选择图块1320的方法与以上参照图7描述的方法相同。运算单元110针对图块1320中的每个选择的图块产生指示第三路径e2穿过该图块的信息“Edge_List”并将所述信息存储在本地存储器150中。对于信息Edge_List已经如以上参照图6A和图6B描述那样产生的图块,第三路径e2穿过的图块信息被另外存储在先前产生的信息Edge_List中。在图13B的图块上标记的“e。,e2”、“ei,e2”或“e2”表示包括在每个图块的信息Edge_List中的信息。换句话说,使用“e。”和“e2”标记的图块是第一路径e。和第三路径e 2二者穿过的图块。此外,使用“e/’和“e2”标记的图块是第二路径ei和第三路径e2二者穿过的图块。此夕卜,使用“e2”标记的图块是第三路径e2二者穿过的图块。
[0158]运算单元110通过更新位于选择的图块1320 —侧的每个图块1331第二初始值WNinit—2获取第三初始值WN init—3。例如,运算单元110可获取选择的图块1320左侧的每个图块1331的第三初始值WNinit—3。运算单元110获取每个图块1331的第三初始值WNinit—3的方法与以上参照图8、图9A和图9B描述的方法相同。详细地,因为第三路径%顺时针方向地穿过图块1320,所以运算单元110根据图9A的规则通过将位于左侧的每个图快1331的第二初始值WNinit—2加上I来获取第三初始值WN init—3。
[0159]对于位于包括第三路径e2开始的顶点P2的图块左侧的图块1332,运算单元110考虑穿过所述图块的第二路径ei和第三路径e 2的形状来确定第三初始值WN init—3。运算单元110确定每个图块1332的第三初始值WNinit 3的示例与以上参照图1lA至图1lC描述的方法相同。详细地,因为第二路径^和第三路径e2顺时针方向(从上到下)地穿过图块1321的彼此面对的两个边界,所以第二路径ei和第三路径e 2对应于图1lA的情况。因此,运算单元110通过将I加到每个图块1332的第二初始值WNinit—2加上I来获取第三初始值
WNinitJ3O
[0160]此外,对于位于包括第三路径e2结束的顶点P。的图块左侧的图块1333,运算单元110考虑穿过所述图块的第三路径e2和第一路径e。的形状来确定第三初始值WN init—3。详细地,因为第三路径e2和第一路径e。沿穿过图块1322的一侧(上侧)(S卩,图块1322的上表面)的同一方向进入和离开图块1322,所以第三路径e2和第一路径e。对应于图1lC的情况。因此,运算单元110没有改变地将图块1333的第二初始值WNinit—2确定为第三初始值
WNinitJ3O
[0161 ] 对于包括在帧中的图块之中除了图块1331、1332和1333之外的图块,没有改变地将第二初始值WNinit—2确定为第三初始值WNinit—3。运算单元110可针对每个图块将第三初始值WNinit 3存储在本地存储器150中。
[0162]图13B示出基于第一路径e。、第二路径&和第三路径e2获取的第三初始值WNinit—3。在图13B中示出的图块1341、1342、1343和1344指示的值“O”或“I”表示图块1341、1342、1343和1344中的每个图块的第三初始值WNinit—3。此外,虽然在图13B中没有示出,但是包括在帧中的图块之中除了图块1341、1342、1343和1344之外的图块的第三初始值WNinit—3是与初始卷绕数相同的O。
[0163]运算单元110将第三初始值WNinit 3确定为第一卷绕数WN init。如以上参照图6A至图13B所述,运算单元110将通过更新初始卷绕数(例如O)获取的第三初始值WNinit 3确定为第一卷绕数WNinit。
[0164]根据参照图5至图13B的描述,运算单元110考虑同一侧来针对包括在帧中的所有图块设置第一卷绕数WNinit。例如,运算单元110可根据路径穿过图块的方向,通过将预定值加到存在于该图块的左侧的每个图块的初始卷绕数或从所述初始卷绕数减去预定值来设置第一卷绕数WNinit。
[0165]当对象偏向帧的一侧时,运算单元110可考虑包括在帧中的各个图块的不同侧来设置第一卷绕数WNinit。换句话说,运算单元110可考虑包括在帧中的每个图块的位置和帧中的路径的位置来设置第一卷绕数WNinit,以下参照图14和图15对此进行描述。
[0166]图14示出根据实施例的运算单元110用来设置第一卷绕数的路径的示例。
[0167]参照图14,帧1410包括6X6的图块,并且具有三角形的对象1420包括三条路径e。、e^P e 2。对象1420偏向帧1410的右侧。
[0168]图15示出根据实施例的运算单元110设置第一卷绕数的示例。
[0169]图15示出运算单元110处理图14的路径的示例。参照图15,路径e。、e 2在帧中被依次绘制。就这一点而言,由路径e。、^和e 2形成的对象偏向帧的右侧。
[0170]运算单元110可考虑到包括在帧中的每个图块的位置和帧中的路径的位置来设置第一卷绕数WNinit。详细地,通过使用关于包括在路径数据中的路径e。、e#Pe2的信息来检查对象是否偏向帧的一侧。当对象偏向帧的一侧时,运算单元110将帧划分为不包括对象的第一区域1511和包括对象的第二区域1512。运算单元110通过改变用于检查区域1511和1512中的每个区域的路径的方向来设置第一卷绕数WNinit。虽然图15示出运算单元110将帧划分为两个区域1511和1512,但是运算单元110将帧划分成的区域的数量不限于两个。
[0171]首先,运算单元110将初始卷绕数分配给包括在帧中的所有图块。例如,运算单元110可将包括在帧1510中的所有图块中的每个图块的初始卷绕数分配为O。接下来,运算单元I1可使用不同侧来获取第一区域1511和第二区域1512中的每个图块的第一卷绕数WNinit0在实施例中,可按照与关于图3至图13的描述相反的方式获取面向左侧的第一区域1511的图块的第一卷绕数WNinit。在这种情况下,因为没有路径存在于第一区域1511中,所以运算单元110针对包括在第一区域1511中的任何图块,不将预定数(例如I)加到初始卷绕数或从初始卷绕数减去预定数(例如I)。换句话说,运算单元110将包括在第一区域1511中的每个图块的第一卷绕数WNinit设置为初始卷绕数(例如O)。
[0172]对于第二区域1512的图块,与第一区域1511的图块相反,可获取面向右侧的第一卷绕数WNinit。因此,参照图3至图13给出的描述可同样应用于本示例。详细地,因为没有图块存在于路径e。穿过的图块1520的左侧,所以第一卷绕数WN init与初始卷绕数相同。
[0173]对于
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1