首页 / 专利库 / 电脑图像 / 着色器 / 顶点着色器 / 电脑绘图的预处理及着色装置和方法

电脑绘图的预处理及着色装置和方法

阅读:555发布:2021-02-06

专利汇可以提供电脑绘图的预处理及着色装置和方法专利检索,专利查询,专利分析的服务。并且一种电脑绘图的预处理及着色装置和方法,用以处理复数待处理物件的属性着色程序,其包括一着色坐标产生器、一共同项预处理 电路 及复数个属性预处理/着色电路。着色坐标产生器用来产生待处理物件所包含的画素点坐标值。共同项预处理电路用来产生平面方程式系数中与属性值无关的共同项资料。每个属性预处理/着色电路包括第一 硬件 电路和第二硬件电路,并操作于绝对着色模式和相对着色模式之间。在绝对着色模式中同时使用第一和第二硬件电路来产生对应画素点的属性值,在相对着色模式时则使用第二硬件电路产生画素点属性值并且使用第一硬件电路产生下一个待处理物件的平面方程式系数。本 发明 可以简化习知的电路,降低设计成本,达到较佳的绘图效能。,下面是电脑绘图的预处理及着色装置和方法专利的具体信息内容。

1.一种预处理及着色装置,其特征在于:该装置用以处理复数待处理物件的 至少一属性的着色程序,上述着色程序根据对应于上述属性的平面方程式决定 上述待处理物件内各画素点的属性值,其包括:
一着色坐标产生器,用以依序产生上述待处理物件所包含的画素点的坐标 值;
一共同项预处理电路,用以产生上述平面方程式的系数中与属性值无关的 共同项资料;以及
至少一属性预处理/着色电路,分别对应于上述属性,用以根据上述共同 项资料产生上述平面方程式的系数并且根据上述坐标值和上述平面方程式产生 对应画素点的属性值,其中产生上述平面方程式的系数和产生对应画素点的属 性值的动作通过复数多工器控制在同一硬件电路中执行。
2.如权利要求1所述的预处理及着色装置,其特征在于:其中上述待处理物 件为三形。
3.如权利要求1所述的预处理及着色装置,其特征在于:其中上述属性值为 色成分、深度资料、透明效果参数或纹理坐标。
4.如权利要求1所述的预处理及着色装置,其特征在于:其中上述着色坐标 产生器依序产生上述待处理物件所包含的所有画素点的坐标值。
5.如权利要求1所述的预处理及着色装置,其特征在于:其中上述待处理物 件所包含的所有画素点分割为复数区,每一区块包含复数个画素点,并且上 述着色坐标产生器依序产生上述区块的至少一画素点的坐标值,上述属性预处 理/着色电路则根据所接收的画素点的坐标值,利用相对着色程序计算上述区 块内其余画素点的属性值。
6.一种预处理及着色装置,其特征在于:该装置用以处理复数待处理物件的 至少一属性的着色程序,上述着色程序根据对应于上述属性的平面方程式决定 上述待处理物件内各画素点的属性值,其包括:
一着色坐标产生器,用以依序产生上述待处理物件所包含的画素点的坐标 值;
一共同项预处理电路,用以产生上述平面方程式的系数中与属性值无关的 共同项资料;以及
至少一属性预处理/着色电路,分别对应于上述属性并且包括第一硬件电 路和第二硬件电路,用以根据上述共同项资料产生上述平面方程式的系数并且 根据上述坐标值和上述平面方程式产生对应画素点的属性值,其操作于第一模 式和第二模式之间,在第一模式时使用上述第一硬件电路和上述第二硬件电路 产生对应画素点的属性值,在第二模式时使用上述第二硬件电路产生对应画素 点的属性值并且使用上述第一硬件电路产生下一个待处理物件的平面方程式系 数。
7.如权利要求6所述的预处理及着色装置,其特征在于:其中上述待处理物 件为三角形。
8.如权利要求6所述的预处理及着色装置,其特征在于:其中上述属性值为 色成分、深度资料、透明效果参数或纹理坐标。
9.如权利要求6所述的预处理及着色装置,其特征在于:其中上述第一模式 为绝对着色程序,上述第二模式为相对着色程序。
10.如权利要求6所述的预处理及着色装置,其特征在于:其中上述属性预处 理/着色电路更包含一暂存器,用以储存下一个待处理物件的平面方程式系数。
11.如权利要求6所述的预处理及着色装置,其特征在于:其中上述着色坐标 产生器依序产生上述待处理物件所包含的所有画素点的坐标值。
12.如权利要求6所述的预处理及着色装置,其特征在于:其中上述待处理物 件所包含的所有画素点分割为复数区块,每一区块包含复数个画素点,并且上 述着色坐标产生器依序产生上述区块的至少一画素点的坐标值,上述属性预处 理/着色电路则根据所接收的画素点的坐标值,利用一相对着色程序计算上述 区块内其余画素点的属性值。
13.如权利要求12所述的预处理及着色装置,其特征在于:其中利用相对着 色程序计算上述区块内其余画素点的属性值的动作由上述第二硬件电路执行。
14.如权利要求6所述的预处理及着色装置,其特征在于:其中上述属性预处 理/着色电路的第一硬件电路和第二硬件电路包含复数多工器,用以切换产生 上述平面方程式的系数以及产生对应画素点的属性值时所需的参数。
15.一种预处理及着色装置,其特征在于:该装置用以处理复数三角形的着 色程序,上述着色程序根据对应于复数属性的复数平面方程式,决定上述三角 形内每一画素点的复数属性值,每一平面方程式包括第一系数和第二系数,对 应于上述平面方程式的上述第一系数和上述第二系数具有与上述属性无关的共 同项资料,其包括:
一着色坐标产生器,用以根据上述三角形的顶点资料,依序产生上述三角 形所包含的画素点的坐标值;
一共同项预处理电路,用以根据上述三角形的顶点资料,产生对应于上述 属性的上述平面方程式的共同项资料;以及
复数属性预处理/着色电路,分别对应于上述属性并且包括第一硬件电路 和第二硬件电路,用以根据上述共同项资料产生上述平面方程式的第一系数和 第二系数并且根据上述坐标值和上述平面方程式产生对应画素点的属性值,其 操作于绝对着色模式和相对着色模式之间;在绝对着色模式时,使用上述第一 硬件电路和上述第二硬件电路,根据上述平面方程式产生对应画素点的属性值; 在相对着色模式时,使用上述第二硬件电路,根据前一画素点的属性值及上述 平面方程式的系数产生对应画素点的属性值,并且使用上述第一硬件电路,根 据上述共同项资料和上述三角形的顶点资料产生下一个待处理物件的平面方程 式系数。
16.如权利要求15所述的预处理及着色装置,其特征在于:其中上述属性值 为色成分、深度资料、透明效果参数或纹理坐标。
17.如权利要求15所述的预处理及着色装置,其特征在于:其中上述属性预 处理/着色电路更包含一暂存器,用以储存下一个待处理物件的平面方程式系 数。
18.如权利要求15所述的预处理及着色装置,其特征在于:其中上述着色坐 标产生器依序产生上述待处理物件所包含的所有画素点的坐标值。
19.如权利要求15所述的预处理及着色装置,其特征在于:其中上述待处理 物件所包含的所有画素点分割为复数区块,每一区块包含复数个画素点,并且 上述着色坐标产生器依序产生上述区块的至少一画素点的坐标值,上述属性预 处理/着色电路则根据所接收的画素点的坐标值,利用一相对着色程序计算上 述区块内其余画素点的属性值。
20.如权利要求15所述的预处理及着色装置,其特征在于:其中上述属性预 处理/着色电路的第一硬件电路和第二硬件电路包含复数多工器,用以切换产 生上述平面方程式的第一系数和第二系数以及产生对应画素点的属性值时所需 的参数。
21.一种预处理及着色装置,其特征在于:该装置用以处理复数待处理物件 的至少一属性的着色程序,上述着色程序根据对应于上述属性的平面方程式决 定上述待处理物件内各画素点的属性值,其包括:
一着色坐标产生器,用以在上述待处理物件所包含的所有画素点所分割的 复数区块中,依序产生上述区块的至少一画素点的坐标值,其中每一区块包含 复数画素点;
一预处理电路,用以产生上述平面方程式的系数;以及
至少一属性着色电路,分别对应于上述属性并且耦接于上述着色坐标产生 器和上述预处理电路,其根据上述系数所构成的上述平面方程式和所接收的画 素点坐标值,计算对应画素点的属性值,并且利用一相对着色程序计算上述区 块内其余画素点的属性值。
22.如权利要求21所述的预处理及着色装置,其特征在于:其中上述待处理 物件为三角形。
23.如权利要求21所述的预处理及着色装置,其特征在于:其中上述属性值 为色成分、深度资料、透明效果参数或纹理坐标。
24.一种预处理及着色方法,其特征在于:该方法用以处理复数待处理物件 中复数画素点的至少一属性值的着色程序,上述属性值由分别对应于上述待处 理物件的平面方程式决定,其包括下列步骤:
提供包含于上述待处理物件中的第一待处理物件的顶点资料;
根据上述第一待处理物件的顶点资料,依序产生上述第一待处理物件所包 含的画素点的坐标值;
决定包含于上述待处理物件中并且紧接上述第一待处理物件后的第二待处 理物件所对应的平面方程式的系数中与属性值无关的共同项资料;
根据对应于上述第一待处理物件的平面方程式,通过一绝对着色程序计算 上述第一待处理物件所包含的画素点的属性值;以及
根据对应于上述第一待处理物件的平面方程式的系数以及已计算的上述第 一待处理物件内画素点的属性值,通过一相对着色程序计算上述第一待处理物 件所包含的其他画素点的属性值,同时根据上述共同项资料,计算上述第二待 处理物件所对应的平面方程式的系数。
25.如权利要求24所述的预处理及着色方法,其特征在于:其中上述待处理 物件为三角形。
26.如权利要求24所述的预处理及着色方法,其特征在于:其中上述属性值 为色成分、深度资料、透明效果参数或纹理坐标。
27.如权利要求24所述的预处理及着色方法,其特征在于:其中通过上述相 对着色程序计算属性值的步骤由一第二硬件电路所执行,其中根据上述共同项 资料来计算平面方程式的系数的步骤由一第一硬件电路所执行,并且其中通过 上述绝对着色程序计算属性值的步骤由上述第一硬件电路和第二硬件电路所执 行。
28.如权利要求24所述的预处理及着色方法,其特征在于:其中依序产生上 述第一待处理物件所包含的画素点的坐标值的步骤中,为依序产生上述第一待 处理物件所包含的所有画素点的坐标值。
29.如权利要求24所述的预处理及着色方法,其特征在于:其中上述第一待 处理物件所包含的画素点分割为复数区块,每一区块包含复数画素点;其中依 序产生上述第一待处理物件所包含的画素点的坐标值的步骤中,为依序产生上 述区块的第一画素点的坐标值;更包括一步骤:利用上述区块内的第一画素点 的坐标值及上述第一待处理物件对应的平面方程式的系数,计算上述区块内其 余画素点的属性值。

说明书全文

技术领域

发明涉及一种绘图技术,特别是关于可适用于电脑绘图描图(rendering) 过程中预处理/着色(setup/shading)程序的装置和方法。

背景技术

在电脑绘图技术中,描图(rendering)是指将资料库中的三维物件,转换 成视平面上的二维投影的程序,其主要包括建立多边形模型(polygon model), 处理显示多边形和不显示多边形以及着色(shading)程序等等,本发明讨论范 围则是以着色程序为主。一般着色程序大都采用高氏着色法(Gouraud shading),其主要采用强度插入(intensity interpolation)技术,亦即沿 着表面线性插入亮度值,藉以绘制多边形表面。
构成多边形表面的三形,是根据许多属性值(attribute)来加以绘制, 例如红色、绿色、蓝色等等。对于三角形内所有的画素点,都必须计算所有的 属性值,而每个属性可以构成一属性面(attribute surface),其可以藉由一 平面方程式(plane equation)来描述,属性面的平面方程式一般利用三角形 顶点的属性值来产生。每个三角形都具有三个顶点,分别以V0、V1、V2来表示。 每个顶点的属性值则可以用来描述对应顶点的外观及特性。这些属性主要包括 下列项目:色成分、深度资料、透明效果参数(blending factors)及/或纹理 (texture)坐标。色成分包括红色属性R、绿色属性G、蓝色属性B、反射 (specular)红色属性SR、反射绿色属性SG、反射蓝色属性SB。透明效果参数 包括alpha属性A及雾化(fog)参数F。深度资料包括参数Z和W。纹理坐标则包 括数组坐标。假设有四组纹理坐标,则分别表示为(UA,VA)、(UB,VB)、 (UC,VC)、(UD,VD)。上述属性值可以利用符号Λ来表示,亦即Λ∈{R,G, B,A,Z,W,F,SR,SG,SB,UA,VA,UB,VB,UC,VC,UD,VD}。而属于顶 点Vi的属性值Λ则表示为Λi,其中参数i为0、1或2。
每个属性值Λ的平面方程式可以表示为:
Λ(x,y)=aΛ(x-xref)+bΛ(y-yref)+Λref    (1) 其中, a Λ = Λ 0 y 0 1 Λ 1 y 1 1 Λ 2 y 2 1 Δ . . . . ( 2 ) b Λ = x 0 Λ 0 1 x 1 Λ 1 1 x 2 Λ 2 1 Δ . . . . . . . ( 3 ) Δ = x 0 y 0 1 x 1 y 1 1 x 2 y 2 1 . . . . . ( 4 )
另外,Λref表示在参考点(xref,yref)的属性值,另外(x0,y0)、(x1,y1)、 x2,y2)表示三角形端点V0、V1、V2的坐标值。
典型三角形绘制过程的着色程序中处理单一属性值的步骤可以描述如下:
(1)分别接收三角形三个顶点(x0,y0)、(x1,y1)、(x2,y2)上的属 性资料Λ0、Λ1、Λ2。
(2)计算该属性的平面方程式系数aΛ和bΛ;以及
(3)线性插入产生每个画素点的属性值。
在上述步骤中,步骤(2)一般称为预处理阶段(setup stage),步骤(3) 一般称为着色阶段(shading stage)。在习知绘图引擎中,主要是利用一个集 中预处理装置来准备所有平面方程式的所有系数值,并且利用分别对应于各属 性的着色电路来产生三角形内各画素点的属性值。图1表示习知技术绘图引擎中 预处理/着色装置的方图。图中符号10表示预处理电路,符号20表示着色电 路,符号30表示着色坐标产生器。预处理电路10接收三角形三个顶点的坐标值 (x0,y0)、(x1,y1)、(x2,y2)以及在三个顶点上的各属性值(R0,R1,R2)、...、 (VD0,VD1,VD2),用以产生各属性平面方程式的系数(aR,bR,Rref)、...、(aVD, bVD,RVD),其中Rref、Gref、...、VDref表示在参考点(xref,yref)上的各属性值。 参考点可以设定为三角形内的任一点。另一方面,着色坐标产生器30则根据顶 点坐标值(x0,y0)、(x1,y1)、(x2,y2)所决定的三角形范围,依序产生各 画素点坐标值(x,y)。着色电路20则包括对应不同属性的着色电路(未图示), 分别接收预处理电路10所产生的各属性平面方程式系数以及着色坐标产生器30 所产生的画素点坐标值(x,y),依序产生各画素点上的属性值R(x,y)、...、 VD(x,y)。
另外,属性平面方程式系数aΛ和bΛ可以进一步整理如下式: a Λ = Λ 0 y 0 1 Λ 1 y 1 1 Λ 2 y 2 1 Δ = k 11 ( Λ 1 - Λ 0 ) + k 12 ( Λ 2 - Λ 0 ) . . . ( 5 ) b Λ = x 0 Λ 0 1 x 1 Λ 1 1 x 2 Λ 2 1 Δ = k 21 ( Λ 1 - Λ 0 ) + k 22 ( Λ 2 - Λ 0 ) . . . ( 6 ) 其中 k 11 = ( y 2 - y 0 ) Δ ; k 12 = - ( y 1 - y 0 ) Δ ; k 21 = - ( x 2 - x 0 ) Δ ; k 22 = ( x 2 - x 0 ) Δ . . . . . . . ( 7 )
根据上述第(5)、(6)、(7)式可以发现,当计算三角形每个属性面的 平面方程式系数时,上述参数k11、k12、k21、k22均为常数。因此可以预先计算上 述系数的共同项(common term),再将共同项配置到每个属性的预处理电路上。
图2表示习知技术绘图引擎中具有分散式架构的预处理/着色装置的方块 图。如图所示,其主要是将图1中的预处理电路10,利用共同项预处理电路12 以及由复数个属性预处理电路140所组成的预处理电路14来取代。共同项预处理 电路12根据三个顶点的坐标值(x0,y0)、(x1,y1)、(x2,y2),依据第(7) 式决定共同项k11、k12、k21、k22,送到预处理电路14。各属性预处理电路140则分 别接收上述共同项k11、k12、k21、k22以及三个顶点上的属性值(R0,R1,R2)、(G0, G1,G2)、(B0,B1,B2)、...,产生各属性平面方程式的系数(aR,bR,Rref)、 (aG,bG,Gref)、(aB,bB,Bref)...,其中Rref、Gref、Bref、...表示在参考点(xref, yref)上的各属性值。另一方面,着色坐标产生器30则根据顶点坐标值(x0,y0)、 (x1,y1)、(x2,y2)所决定的三角形范围,依序产生各画素点坐标值(x,y)。 着色电路20则包括复数个属性着色电路200,分别接收各属性预处理电路140所 产生的各属性平面方程式系数以及着色坐标产生器30所产生的画素点坐标值 (x,y),依序产生各画素点上的属性值R(x,y)、...、VD(x,y)。习知分 散式架构由于是利用平行计算的方式来产生各属性平面方程式的系数,所以其 多边形处理速度会比图1所示架构更快。

发明内容

本发明的主要目的,是提出一种新的预处理/着色装置和方法,进一步简 化习知技术分散式架构的电路,藉以在降低设计成本的同时,依然能够达到较 佳的绘图效能。
为了达成上述目的,本发明提供的技术方案如下:
一种预处理及着色装置,用以处理复数待处理物件(例如构成多边形模式 的三角形)的复数属性的着色程序,这些属性值包括色成分、深度资料、透明 效果参数及/或纹理坐标。待处理物件内画素点的属性值是根据对应于不同属性 的平面方程式所决定,并且此平面方程式随着属性和待处理物件的不同亦有所 差异,其主要是其系数aΛ、bΛ、Λref所决定。其包括一着色坐标产生器、一共 同项预处理电路及复数个属性预处理/着色电路。着色坐标产生器用以依序产 生待处理物件所包含的画素点坐标值,可以送出每一个画素点的坐标值(单点 着色),或是送出包含复数画素点的区块中某个画素点的坐标值(区块着色)。 共同项预处理电路则用来产生平面方程式系数aΛ、bΛ、Λref中与属性值无关的 共同项资料,亦即k11、k12、k21、k22。每个属性预处理/着色电路则负责用以根 据待处理的坐标值和对应的平面方程式来产生对应画素点的属性值,并且使用 相同硬件电路从共同项资料产生下一个待处理物件的平面方程式系数,其动作 通过复数个多工器加以控制。通过此架构,本发明的预处理及着色装置中可以 利用着色电路来实施部分预处理动作,简化了习知的分散式架构。
一种预处理及着色装置,用以处理复数待处理物件(例如三角形)的复数 属性的着色程序。这些属性值包括色成分、深度资料、透明效果参数及/或纹理 坐标。待处理物件内画素点的属性值是根据对应于不同属性的平面方程式所决 定,并且此平面方程式随着属性和待处理物件的不同亦有所差异,其主要是其 系数aΛ、bΛ、Λref所决定。其包括一着色坐标产生器、一共同项预处理电路及 复数个属性预处理/着色电路。着色坐标产生器用以依序产生待处理物件所包 含的画素点坐标值,可以送出每一个画素点的坐标值(单点着色),或是送出 包含复数画素点的区块中某个画素点的坐标值(区块着色)。共同项预处理电 路则用来产生平面方程式系数aΛ、bΛ、Λref中与属性值无关的共同项资料,亦 即k11、k12、k21、k22。每个属性预处理/着色电路则包括第一硬件电路和第二硬 件电路,负责用以根据待处理的坐标值和对应的平面方程式来产生对应画素点 的属性值,并且从共同项资料产生下一个待处理物件的平面方程式系数。每个 属性预处理/着色电路可以操作于第一模式(绝对着色模式)和第二模式(相 对着色模式)之间。在第一模式中,其同时使用第一硬件电路和第二硬件电路 来产生对应画素点的属性值,在第二模式时则使用第二硬件电路产生对应画素 点的属性值并且使用第一硬件电路产生下一个待处理物件的平面方程式系数。 上述属性预处理/着色电路更包含一暂存器,用以储存下一个待处理物件的平面 方程式系数,且第一硬件电路和第二硬件电路包含复数多工器,用以切换产生 上述平面方程式的系数以及产生对应画素点的属性值时所需的参数。
其中上述第一模式为绝对着色程序,上述第二模式为相对着色程序。
其中上述着色坐标产生器依序产生上述待处理物件所包含的所有画素点的 坐标值。
其中上述待处理物件所包含的所有画素点可分割为复数区块,每一区块包 含复数个画素点,并且上述着色坐标产生器依序产生上述区块的至少一画素点 的坐标值,上述属性预处理/着色电路则根据所接收的画素点的坐标值,利用 一相对着色程序计算上述区块内其余画素点的属性值,此计算上述区块内其余 画素点的属性值的动作由上述第二硬件电路执行。
一种预处理及着色装置,用以处理复数三角形的着色程序,上述着色程序 根据对应于复数属性的复数平面方程式,决定上述三角形内每一画素点的复数 属性值,每一平面方程式包括第一系数和第二系数,对应于上述平面方程式的 上述第一系数和上述第二系数具有与上述属性无关的共同项资料。其包括一着 色坐标产生器、一共同项预处理电路及复数属性预处理/着色电路。着色坐标 产生器用以根据上述三角形的顶点资料,依序产生上述三角形所包含的画素点 的坐标值。共同项预处理电路则用以根据上述三角形的顶点资料,产生对应于 上述属性的上述平面方程式的共同项资料。每个属性预处理/着色电路分别对 应于上述属性并且包括第一硬件电路和第二硬件电路,用以根据上述共同项资 料产生上述平面方程式的第一系数和第二系数并且根据上述坐标值和上述平面 方程式产生对应画素点的属性值,其操作于绝对着色模式和相对着色模式之间; 在绝对着色模式时,使用上述第一硬件电路和上述第二硬件电路,根据上述平 面方程式产生对应画素点的属性值;在相对着色模式时,使用上述第二硬件电 路,根据前一画素点的属性值及上述平面方程式的系数产生对应画素点的属性 值,并且使用上述第一硬件电路,根据上述共同项资料和上述三角形的顶点资 料产生下一个待处理物件的平面方程式系数。
其中上述属性值为色成分、深度资料、透明效果参数及/或纹理坐标。
其中上述属性预处理/着色电路更包含一暂存器,用以储存下一个待处理 物件的平面方程式系数。
其中上述着色坐标产生器依序产生上述待处理物件所包含的所有画素点的 坐标值。
其中上述待处理物件所包含的所有画素点分割为复数区块,每一区块包含 复数个画素点,并且上述着色坐标产生器依序产生上述区块的至少一画素点的 坐标值,上述属性预处理/着色电路则根据所接收的画素点的坐标值,利用一 相对着色程序计算上述区块内其余画素点的属性值。
其中上述属性预处理/着色电路的第一硬件电路和第二硬件电路包含复数 多工器,用以切换产生上述平面方程式的第一系数和第二系数以及产生对应画 素点的属性值时所需的参数。
一种预处理及着色装置,可以利用区块着色方式,应用于一般分散式架构 的着色装置中,加快处理速度。其包括一着色坐标产生器、一预处理电路及复 数属性着色电路。着色坐标产生器用来在待处理物件(例如三角形)所包含的 所有画素点所分割的复数区块中,依序产生区块中至少一画素点的坐标值。预 处理电路则用来产生平面方程式的系数。每个属性着色电路则耦接于上述着色 坐标产生器和上述预处理电路,其根据上述系数所构成的上述平面方程式和所 接收的画素点坐标值,计算对应画素点的属性值,并且利用一相对着色程序计 算上述区块内其余画素点的属性值。
其中上述属性值为色成分、深度资料、透明效果参数及/或纹理坐标。
一种预处理及着色方法,用以处理复数待处理物件(例如三角形)中复数 画素点的至少一属性值的着色程序。这些属性值由分别对应于上述待处理物件 的平面方程式决定,其包括下列步骤。首先提供包含于上述待处理物件中的第 一待处理物件的顶点资料。接着,根据上述第一待处理物件的顶点资料,依序 产生上述第一待处理物件所包含的画素点的坐标值。接着决定包含于上述待处 理物件中并且紧接上述第一待处理物件后的第二待处理物件所对应的平面方程 式的系数中与属性值无关的共同项资料。在进行着色时,则可以通过绝对着色 程序或相对着色程序进行。在绝对着色程序中,则根据对应于第一待处理物件 的平面方程式来计算第一待处理物件所包含的画素点的属性值。在相对着色程 序中,则根据对应于第一待处理物件的平面方程式的系数以及已计算的第一待 处理物件内画素点的属性值来计算第一待处理物件所包含的其他画素点属性 值,同时根据共同项资料来计算第二待处理物件所对应的平面方程式的系数。 在上述步骤中,通过相对着色程序计算属性值的步骤由第二硬件电路执行,根 据共同项资料来计算平面方程式系数的步骤则由第一硬件电路执行,而通过绝 对着色程序计算属性值的步骤则由第一硬件电路和第二硬件电路所执行。当进 行单点着色时,是依序处理第一待处理物件中所包含的画素点坐标值。当进行 区块着色时,则是依序处理每个区块中某个画素点的坐标值来计算属性值,再 利用此画素点的属性值及平面方程式的系数,来计算此区块内其余画素点的属 性值。
其中上述属性值为色成分、深度资料、透明效果参数及/或纹理坐标。
本发明的电脑绘图的预处理及着色装置和方法,可以进一步简化习知技术 分散式架构的电路,并且在降低设计成本的同时,依然能够达到较佳的绘图效 能。
附图说明
图1表示习知技术绘图引擎中预处理/着色装置的方块图;
图2表示习知技术绘图引擎中具有分散式架构的预处理/着色装置的方块 图;
图3表示本发明第一实施例的预处理/着色装置的方块图;
图4表示图3所示的属性预处理/着色电路的方决图;
图5表示图4所示的计算单元的电路图;
图6表示本发明第一实施例中属性预处理/着色电路的操作流程图
图7表示本发明第二实施例中具有区块着色功能的属性着色电路的电路图;
图8表示本发明第二实施例中属性预处理/着色电路的方块图;
图9表示图8所示的计算单元的电路图;
图10表示本发明第二实施例中属性预处理/着色电路的操作流程图。
符号说明:
10预处理电路;12共同项预处理电路;14预处理电路;
20、40着色电路;30着色坐标产生器;140属性预处理电路;
200、500属性着色电路;400属性预处理/着色电路;
410、440计算单元;
410a、410b、440a、440b硬件电路;
420、422、423、424、426、427暂存器;
430、432、434、436状态暂存器;
4100-4103、4400-4406、5000-5006加法器;
4110、4111、4410、4411、5010、5011乘法器;
4120-4127、4420-4429多工器。

具体实施方式

以下通过实施例并结合附图对本发明作进一步说明。
第一实施例
本发明的预处理/着色装置和方法主要是利用着色电路的资源来计算下一 个待处理三角形的平面方程式系数,亦即将部分预处理装置并入着色装置中, 藉此可以降低实现分散式预处理架构的实作成本。以下配合实施例,详细说明 本发明的技术内容。
对于三角形进行着色程序的属性平面方程式可以描述如下:
Λ(x,y)=aΛ(x-xref)+bΛ(y-yref)+Λref  (8)
以下说明除特别说明外,为将顶点之一(x0,y0)及其属性值Λ0作为参考 点(xref,yref)及其属性值Λref。另外,Λ∈{R,G,B,A,Z,W,F,SR,SG, SB,UA,VA,UB,VB,UC,VC,UD,VD}。
要计算第(8)式中的属性值Λ(x,y),一般需要两个减法运算、两个乘 法运算以及两个加法运算。但是当已知某一画素点的属性值之后,可以进一步 简化其运算数量。当完成计算某一个画素点(x,y)的属性值Λ(x,y),其 相邻点的属性值可以依据下列方式计算。
画素点(x+1,y)∶Λ(x+1,y)=Λ(x,y)+aΛ    (9)
画素点(x,y+1)∶Λ(x,y+1)=Λ(x,y)+bΛ    (10)
画素点(x-1,y)∶Λ(x-1,y)=Λ(x,y)-aΛ    (11)
画素点(x,y-1)∶Λ(x,y-1)=Λ(x,y)-bΛ    (12)
根据以上所述,当计算相邻点属性值时,其运算量可以简化成一个加法 或减法。因此本发明实施例的着色装置中包含两种着色程序,其一是依据第(8) 式计算属性值的绝对着色程序(absolute shading),另一则是依据第(9)式 -第(12)式及其衍生公式计算属性值的相对着色程序(relative shading)。 在实现着色装置时,仍然必须配置可以执行绝对着色程序的所有硬件资源,也 就是仍然需要有四个加法器及两个乘法器。不过在执行相对着色程序时,乘法 器和部分加法器则不会被使用到。本发明中便是利用此部分闲置资源来处理下 一个三角形的预处理程序,藉此将预处理装置并入着色装置内。
图3表示本发明第一实施例的预处理/着色装置的方块图。如图所示,本发 明的预处理/着色装置包括着色坐标产生器30、共同项预处理电路12以及着色 电路40,着色电路40则由复数个属性预处理/着色电路400所组成,分别处理不 同的属性值。
在本实施例中,着色坐标产生器30根据待处理三角形的顶点坐标(x0,y0)、 (x1,y1)、(x2,y2),依序产生各画素点坐标值(x,y)。共同项预处理电 路12则接收顶点坐标值(x0,y0)、(x1,y1)、(x2,y2),根据第(7)式决 定共同项k11、k12、k21、k22。着色电路40内的属性预处理/着色电路则分别接收 共同项k11、k12、k21和k22、作为参考点的坐标值(xref,yref)、各顶点的对应属性 值以及待处理画素点坐标值(x,y),根据第(8)式的绝对着色程序或者第(9) 式-第(12)式的相对着色程序,决定画素点(x,y)的属性值Λ(x,y)。
以下进一步描述本实施例的属性预处理/着色电路400。图4表示本发明第 一实施例中属性预处理/着色电路400的方块图。如图所示,每个属性预处理/ 着色电路400包括计算单元410、分别储存目前待处理三角形属性面平面方程式 系数AΛ和BΛ的暂存器420、422以及储存下一个三角形属性面平面方程式系数aΛ 和bΛ的暂存器424、426以及储存旗标SetupReady、AReady、BReady的状态暂存 器430、432、434。计算单元410用来计算平面方程式系数和属性值,其详细内 容稍后详述。旗标SetupReady、AReady、BReady用来表示下一个三角形的平面 方程式系数aΛ和bΛ是否已经计算完成。
另外,属性预处理/着色电路400分别从共同项预处理电路12和着色坐标产 生器30接收控制信号和资料。除了共同项资料k11、k12、k21和k22、参考点坐标值 (xref,yref)(本实施例中即为(x0,y0))以及各顶点的属性值Λ0、Λ1、Λ2, 来自共同项预处理电路12的外部信号尚包括控制信号CTReady,用以表示共同 项资料k11、k12、k21、k22是否已经完成准备动作。另外,除了待处理画素点坐标 值(x,y)之外,来自着色坐标产生器30的外部信号则包括控制信号 Shading_Over、Shading_Enable以及Relative。控制信号Shading_Over用来告 知属性预处理/着色电路400目前三角形的着色程序是否已经完成,控制信号 Shading_Enable用来指示属性预处理/着色电路400是否执行着色处理,控制信 号Relative则用来指示目前着色程序是绝对着色程序或者是相对着色程序。
图5表示图4中计算单元410的电路图。计算单元410主要是由四个加法器 4100、4101、4102、4103以及两个乘法器4110、4111所组成,多工器4120-4127 则是用来控制计算平面方程式系数和属性值时的参数选择。如图所示,计算单 元410可以分成两个硬件电路部分410a、410b。
当计算单元410根据绝对着色程序计算属性值时,必须同时使用到硬件电路 410a和410b。在硬件电路410a中,多工器4120选择系数AΛ、多工器4121选择待 处理画素点坐标x、多工器4122选择参考点坐标xref、多工器4123选择待处理画 素点坐标y、多工器4124选择参考点坐标yref、多工器4125选择系数BΛ,因此加 法器4102的输出为AΛ(x-xref)+BΛ(y-yref)。另外在硬件电路410b中,多工器 4126选择参考点属性值Λref,多工器4127则选择加法器4102的输出,因此根据 第(8)式,加法器4103输出即为待处理画素点的属性值Λ(x,y)。
当计算单元410根据相对着色程序计算属性值时,则只需要使用到硬件电路 410b。此时,前一个画素点所计算的属性值Λ(x,y)则回授到多工器4127的 输入端,而多工器4127选择此一输入。另外,多工器4126则根据目前待处理画 素点与前一个画素点之间的关系,选择系数AΛ或BΛ。加法器4103则根据第(9) 式-第(12)式,将多工器4127和多工器4126的输出相加或相减,产生目前待处 理画素点的属性值Λ(x,y)。另一方面,由于此时硬件电路410a并未使用, 因此只要下一个待处理三角形的共同项资料k11、k12、k21、k22以及其三个顶点的 属性值Λ0、Λ1、Λ2送入属性预处理/着色电路400,便可以用来计算下一个待 处理三角形的平面方程式系数aΛ和bΛ。此时,多工器4120选择共同项k11或k21、 多工器4121选择顶点属性值Λ1、多工器4122选择参考点属性值Λref(亦即Λ0)、 多工器4123选择顶点属性值Λ2、多工器4124选择参考点属性值Λref(亦即Λ0)、 多工器4125选择共同项k12或k22,因此加法器4102的输出为系数aΛ(即k11(Λ1- Λref)+k12(Λ2-Λref))或是bΛ(即k21(Λ1-Λref)+k22(Λ2-Λref))。根据以 上所述可知,每个属性预处理/着色电路400是通过多工器来控制同一硬件电 路,藉以执行对应属性面的平面方程式系数和产生对应画素点的属性值的动作。
图6表示本发明第一实施例中属性预处理/着色电路400的操作流程图,其 基本上是由来自共同项预处理电路12的控制信号CTReady以及来自着色坐标产 生器30的控制信号Shading_Over、Shading_Enable以及Relative来控制其流程。 若控制信号Shading_Over表示目前处理的三角形尚未完成所有画素点的着色程 序(S100)并且控制信号Shading_Enable为真(S110),则会继续进行着色程 序。此时若控制信号Relative为假(S120),则根据待处理画素点坐标(x,y) 进行绝对着色程序(S130),完成后回到步骤S100;若控制信号Relative为真 (S120),则根据待处理画素点坐标(x,y)进行相对着色程序(S140)。当 进行相对着色程序(S140)或者是控制信号Shading_Enable为假(S110)时, 由于此时硬件电路410a为闲置状态,所以可以用来计算下一个三角形的平面方 程式系数。因此,根据旗标SetupReady判断是否已经完成系数计算(S150), 若尚未完成,则可以在此同时进行下一个三角形平面方程式系数aΛ和bΛ的计算 动作。接着判断控制信号CTReady是否为真(S160),如果其指示下一个三角形 的共同项资料已准备好,则分别判断旗标Aready和BReady是否为假(S170、 S190)。若系数aΛ尚未完成计算,则利用硬件电路410a计算系数aΛ并且将旗标 AReady设为真(S180)。若系数bΛ尚未完成计算,则利用硬件电路410a计算系 数bΛ并且将旗标BReady和SetuPReady设为真(S200)。必须注意的是,此时硬 件电路410b一般用来执行相对着色程序。
另一方面,若控制信号Shading_Over为真(S100),则表示已经完成目前 待处理三角形内各画素点的属性值计算。因此,当旗标SetuPReady为真(S210), 亦即下一个三角形的平面方程式系数aΛ、bΛ已完成计算时,则可以将储存于暂 存器424、426的系数aΛ、bΛ设成储存于暂存器420、422的系数AΛ、BΛ,并且将 旗标AReady、BReady、SetuPReady还原设成假的状态(S220),继续进行下一 个三角形的着色程序。
根据以上所述,本实施例的预处理/着色装置可以进一步简化习知技术分 散式架构的电路,并且在降低其设计成本的同时,依然能够维持分散式架构所 具有的高速特性,达到本发明的目的。
第二实施例
在上述第一实施例中,每个属性预处理/着色电路每次只计算单一画素点 的属性值。在本实施例中,则是将属性预处理/着色电路扩充成为可以同时处 理数个画素点的架构,以下称之为区块着色(block shading),每个“区块” 可以包含相邻的两个画素点、四个画素点、甚至是n×m个画素点。在以下说明 中,主要以四个画素点的区块着色为例,然而此条件并非用以限定本发明。
图7表示本发明第二实施例中具有区块着色功能的属性着色电路500的电路 图,其可以适用于图2所示的分散式架构中,用以处理单一属性的区块着色程序。 属性着色装置500主要是由七个加法器5000-5006以及两个乘法器5010、5011 所组成。如图所示,加法器5000-5003和乘法器5010、5011用以计算待处理画素 点(x,y)的属性值Λ(x,y),亦即aΛ(x-xref)+bΛ(y-yref)+Λref。另外, 根据第(9)式和第(10)式的相对着色程序可知,与画素点(x,y)构成一区 块的其他三个画素点(x+1,y)、(x,y+1)、(x+1,y+1)的属性值Λ(x+1, y)、Λ(x,y+1)、Λ(x+1,y+1),则可以利用加法器5004-5006计算Λ(x, y)+aΛ、Λ(x,y)+bΛ、Λ(x,y)+(aΛ+bΛ)。藉此,属性着色电路500 可以同时产生四个画素点的属性值。必须注意的是,此时着色坐标产生器30并 不需要送出待处理三角形内的所有画素点坐标值,只需要依序送出每个2×2区 块内单一画素点坐标值即可。
上述具有区块着色功能的属性着色电路500亦可以适用于第一实施例所示 的属性预处理/着色电路。图8表示本发明第二实施例中属性预处理/着色电路 400的方块图。其与图4主要不同处是在计算单元440的电路结构,此点稍后详述。 另外,本实施例的属性预处理/着色电路400增加了两个暂存器423和427,分别 用来储存目前待处理三角形属性面平面方程式系数和AΛ+BΛ以及储存下一个三 角形属性面平面方程式系数和aΛ+bΛ,用以计算画素点(x+1,y+1)的相对着色 程序,并且增加一用于储存旗标ABReady的状态暂存器436,旗标ABReady表示下 一个三角形的平面方程式系数和aΛ+bΛ是否已经计算完成。至于从共同项预处 理电路12和着色坐标产生器30所接收的控制信号和资料,则与第一实施例相同, 此处不再赘述。
图9表示图8中计算单元440的电路图。计算单元440主要是由七个加法器 4400-4406以及两个乘法器4410、4411所组成,多工器4420-4429则是用来控制 计算平面方程式系数和属性值时的参数选择。同样的,计算单元440可以分成两 个硬件电路部分440a、440b。
当计算单元440根据绝对着色程序来计算区块画素点(x,y)的属性值时, 必须同时使用到硬件电路440a和440b。在硬件电路440a中,多工器4420选择系 数AΛ、多工器4421选择区块画素点坐标x、多工器4422选择参考点坐标xref、多 工器4423选择区块画素点坐标y、多工器4424选择参考点坐标yref、多工器 4425选择系数BΛ、多工器4426选择乘法器4410的输出、多工器4427选择乘法器 4411的输出,因此加法器4402的输出为AΛ(x-xref)+BΛ(y-yref)。在硬件电路 440b中,多工器4428选择参考点属性值Λref,多工器4429则选择加法器4402的 输出,因此根据第(8)式,加法器4403则输出区块画素点(x,y)的属性值Λ (x,y)。接着,加法器4404、4405、4406分别将系数AΛ、系数BΛ、系数和AΛ +BΛ与属性值Λ(x,y)相加,产生区块其余画素点的属性值Λ(x+1,y)、Λ (x,y+1)、Λ(x+1,y+1)。
当计算单元440根据相对着色程序来计算区块画素点(x,y)的属性值时, 则只需要使用到硬件电路440b。此时,计算前一个区块画素点(x+1,y)和画 素点(x,y+1)的属性值Λ(x+1,y)和Λ(x,y+1)回授到多工器4429的输 入端,而多工器4429可以选择其中之一。必须注意的是,本实施例中虽然使用 前一个区块画素点(x+1,y)和画素点(x,y+1)的属性值来进行目前区块画 素点(x,y)的相对着色程序,但是并非用以限定本发明。另外,多工器4428 则根据目前区块画素点(x,y)与前一个区块中被选择的画素点间关系,选择 系数AΛ或BΛ。加法器4403则根据第(9)式-第(12)式,将多工器4429和多工 器4428的输出相加或相减,产生目前区块画素点(x,y)的属性值Λ(x,y), 接着加法器4404、4405、4406则分别产生区块其余画素点的属性值Λ(x+1,y)、 Λ(x,y+1)、Λ(x+1,y+1)。由于此时硬件电路440a并未使用,因此只要 下一个待处理三角形的共同项资料k11、k12、k21、k22以及其三个顶点的属性值Λ0、 Λ1、Λ2送入属性预处理/着色电路400,便可以用来计算下一个待处理三角形 的平面方程式系数aΛ、bΛ和系数和aΛ+bΛ。当计算系数aΛ、bΛ时,多工器4420 选择共同项k11或k21、多工器4421选择顶点属性值Λ1、多工器4422选择参考点属 性值Λref(亦即Λ0)、多工器4423选择顶点属性值Λ2、多工器4424选择参考点 属性值Λref(亦即Λ0)、多工器4425选择共同项k12或k22、多工器4426选择乘法 器4410的输出、多工器4427选择乘法器4411的输出,因此加法器4402的输出为 系数aΛ(即k11(Λ1-Λref)+k12(Λ2-Λref))或是bΛ(即k21(Λ1-Λref)+k22(Λ2-Λref))。 当计算系数aΛ+bΛ时,多工器4426选择系数aΛ而多工器4427则选择系数bΛ,此时 加法器4402的输出为aΛ+bΛ。根据以上所述可知,本实施例中具有区块着色功能 的属性预处理/着色电路400与第一实施例所述的具有相似的功能,可以利用同 一硬件电路来执行对应属性面的平面方程式系数和产生对应画素点的属性值的 动作。
图10表示本发明第二实施例中属性预处理/着色电路400的操作流程图,同 样是由来自共同项预处理电路12的控制信号CTReady以及来自着色坐标产生器 30的控制信号Shading_Over、Shading_Enable以及Relative来控制其流程。若 控制信号Shading_Over表示目前处理的三角形尚未完成所有画素点的着色程序 (S100)并且控制信号Shading_Enable为真(S110),则会继续进行着色程序。
此时若控制信号Relative为假(S120),则根据待处理画素点坐标(x,y)进 行绝对着色程序(S130),并且利用相对着色程序计算区块内其余画素点的属 性值,完成后回到步骤S100;若控制信号Relative为真(S120),则根据待处 理画素点坐标(x,y)进行相对着色程序(S140),并且同样利用相对着色程 序计算区块内其余画素点的属性值。当画素点(x,y)进行相对着色程序(S140) 或者是控制信号Shading_Enable为假(S110)时,由于此时硬件电路440a为闲 置状态,所以可以用来计算下一个三角形的平面方程式系数。因此,根据旗标 SetupReady判断是否已经完成系数计算(S150),若尚未完成,则可以在此同 时进行下一个三角形平面方程式系数aΛ、bΛ以及系数和aΛ+bΛ的计算动作。接着 判断控制信号CTReady是否为真(S160),如果其指示下一个三角形的共同项资 料已准备好,则分别判断旗标AReady、BReady、ABReady是否为假(S230、S250、 S270)。若系数aΛ尚未完成计算,则利用硬件电路440a计算系数aΛ并且将旗标 AReady设为真(S240)。若系数bΛ尚未完成计算,则利用硬件电路400a计算系 数bΛ并且将旗标BReady设为真(S260)。若系数和aΛ+bΛ尚未完成计算,则利用 硬件电路440a计算系数和aΛ+bΛ并且将旗标ABReady和SetupReady设为真 (S280)。必须注意的是,此时硬件电路440b一般用来执行画素点坐标(x,y) 和区块内其余画素点的相对着色程序。
另一方面,若控制信号Shading_Over为真(S100),则表示已经完成目前 待处理三角形内各画素点的属性值计算。因此,当旗标SetupReady为真(S210), 亦即下一个三角形的平面方程式系数aΛ、bΛ以及系数和aΛ+bΛ已完成计算时,则 可以将储存于暂存器424、426、427的系数aΛ、bΛ以及系数和aΛ+bΛ设成储存于 暂存器420、422、423的系数AΛ、BΛ及系数和AΛ+BΛ,并且将旗标AReady、BReady、 ABReady、SetupReady还原设成假的状态(S290),继续进行下一个三角形的着 色程序。
根据以上所述,本实施例的预处理/着色装置不仅可以进一步简化习知技 术分散式架构的电路,而且可以运用区块着色架构,使得属性值的计算速度更 快,达到本发明的目的。
虽然本发明已以较佳实施例说明如上,然其并非用以限定本发明,任何熟 习此技艺者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因 此本发明的保护范围当以权利要求书所界定的为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈