CN100585631C - 图形绘制设备 - Google Patents
图形绘制设备 Download PDFInfo
- Publication number
- CN100585631C CN100585631C CN200710091883A CN200710091883A CN100585631C CN 100585631 C CN100585631 C CN 100585631C CN 200710091883 A CN200710091883 A CN 200710091883A CN 200710091883 A CN200710091883 A CN 200710091883A CN 100585631 C CN100585631 C CN 100585631C
- Authority
- CN
- China
- Prior art keywords
- data
- management
- unit
- rendering attribute
- draw
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/20—Function-generator circuits, e.g. circle generators line or curve smoothing circuits
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Image Generation (AREA)
Abstract
通过包含以下步骤的过程来执行图形绘制操作:将表示图形对象形状的向量数据组输入到向量数据组管理单元;将表示关于图形对象内部属性的信息的绘制属性数据输入到绘制属性数据管理单元;将指示使用状态的资源信息输入到资源信息管理单元;从向量数据组管理单元读取所管理的向量数据组;通过特征计算单元计算指示输入图形对象的几何特征的特征;读取计算的特征和资源信息管理单元管理的资源信息;进行切换以产生最优绘制数据;读取向量数据组管理单元管理的向量数据组和绘制属性数据管理单元管理的绘制属性数据;产生绘制数据;读取所产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据。和执行绘制操作。
Description
技术领域
本发明涉及例如计算机,数字AV设备和通信设备的电子设备中执行的图形绘制处理。
背景技术
已经开发出用于绘制任意多边形的各种方法。这些方法包含(1)基于点的方法,(2)基于光栅线的方法,(3)基于三角形的方法和(4)基于模板缓冲区的方法。
方法(1)是针对绘制区域中包含的各个点(像素)确定绘制并且逐个点(像素)地执行绘制操作的方法。为了加速绘制操作,已经构思出各种设计,例如删除无用绘制区域或简化每个点处的绘制的确定。此外,为了实现绘制加速,经常以硬件的形式来实施功能。将该方法实施为硬件的一个设备被称作光栅化器(rasterizer)(参见例如下面列出的背景技术文献1)。这个方法简单,因此其特点在于非常稳定的操作,但是缺点在于必须针对每个点进行绘制确定,从而需要非常高的处理成本。因此,该功能通常被实施为定制设计的硬件。
方法(2)对应于方法(1)的改进。方法(2)类似于方法(1)的地方在于,逐个点地或在对应于每个点的范围内确定绘制。然而当执行绘制时,收集各个点的绘制部分,并且将如此收集的绘制部分替换成期望进行绘制的屏幕的各个扫描线的线图。因而,像方法(1)那样,方法(2)在绘制确定方面需要高处理成本。然而缩减了绘制操作的成本,因此方法(2)预计比方法(1)更加快速。确定绘制需要由具有高速CPU的处理系统执行处理,或具有定制设计硬件形式的处理实现。通用图形LSI(GPU)能够被用于绘制操作。其原因在于图形LSI具有高速绘制线和三角形的功能。因此,可以说方法(2)与方法(1)相比具有增强的通用性。
方法(3)用于将期望绘制的多边形分割成一组三角形,并且通过三角形来绘制多边形(参见例如下面列出的背景技术文献2)。在使用通用图形LSI或高速三角分割绘制设备的前提下,这导致实现加速(因为图形LSI具有高速绘制线和三角形的功能)。因此,方法(3)在通用性方面优于方法(1)和(2)。然而,三角分割需要复杂的处理,因此复杂处理的稳定性会带来问题。当期望绘制的多边形具有非常复杂的形状时,也产生三角分割处理涉及非常大的成本的问题。由于该方法基于使用图形LSI等等来绘制一组三角形的前提,当其资源不足时则不能使用LSI。其原因在于多边形必须被分成一组三角形;并且如此分割的三角形必须被输送给图形LSI,而这则需要相应提高存储器的使用量。
方法(4)完全基于通用图形LSI的使用,并且通过使用图形LSI中提供的称作模板缓冲区的功能来实现多边形绘制(参见例如下面列出的背景技术文献3)。与方法(1)至(3)中的任何一个相比,这个方法允许进行更加稳定和快速的多边形绘制。然而,该方法需要完全利用图形LSI的特性,因此产生需要图形LSI的大量资源的问题。
如上所述,对于方法(1)至(4),在处理速度和所需资源之间存在折衷。因此,在多个任务使用例如图形LSI的资源的情况下,各个方法带来问题。对于方法(1)和(2),所需资源的量较小,因此无论资源变化如何,均能够稳定执行处理。然而由于大量处理,在进行高速处理方面遇到困难。对于方法(3)和(4),当有足够资源可用时,高速处理是可行的。然而当其它任务使得资源不足时,产生处理性能下降的问题,或由于资源不足而无法执行处理的问题。
如上所述,由于多个任务的执行,现有技术方法在处理速度和稳定操作方面存在由资源变化带来的缺点。
背景技术文献1:
Renate Kempf and Chris Frazier,″The Open GL ProcessingPipeline,″Chapter 2:Overview of Commands and Routines,Open GLReference Manual Second Edition,ISBN 0-201-46140-4,pp.8 to 16,1997.
背景技术文献2:
Mark de Berg,Mare van Kreveld,Mark Overmars,and OtfriedSchwartzkopf″Computational Geometry,″ISBN 4-7649-0277-X,pp.55 to 75,Kindai Kagakusha Co.,Ltd.,2000.
背景技术文献3:
Jackie Neider,Tom Davis,Mason Woo,″Drawing filled,Concave Polygons Using the Stencil Buffer,″Chapter 13:Now ThatYou Know,OpenGL programming Guide,ISBN 0-201-63274-8,PP.398-399,1993.
发明内容
本发明的一个目的是提供一种图形绘制设备和图形绘制方法,其允许进行适于设备资源发生改变的情况的高速和稳定操作。
根据本发明的一个方面,提供一种图形绘制设备,包含:向量数据组管理单元,其管理表示图形对象的形状的向量数据组;绘制属性数据组管理单元,其管理表示关于图形对象的填充属性信息的绘制属性数据;资源信息管理单元,其管理指示使用状态的资源信息;特征计算单元,其读取向量数据组管理单元管理的向量数据组,并且计算指示输入图形对象的几何特征的特征;绘制操作切换单元,其读取特征计算单元计算的特征和资源信息管理单元管理的资源信息,并且进行切换以产生最优绘制数据;多个绘制数据产生单元,其由绘制操作切换单元控制,并且读取向量数据组管理单元管理的向量数据组和绘制属性数据管理单元管理的绘制属性数据,以产生不同的绘制数据集;和多个绘制单元,其读取绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,并且执行不同绘制操作。
附图说明
在附图中:
图1的视图示意性示出本发明的图形绘制设备的示例性配置;
图2的视图示意性示出根据本发明第一实施例的图形绘制设备的示例性配置;
图3的视图示出本发明第一实施例中使用的处理流程;
图4的视图描述了向量数据组;
图5的视图示出利用环绕数非零规则对图形对象填充区域的示例性确定;
图6的视图示出利用奇偶规则对图形对象填充区域的示例性确定;
图7的视图示出向量数据集的各个组彼此相交的点;
图8的视图示出使用模板缓冲区的绘制操作的流程;
图9的视图示出使用模板缓冲区的示例性绘制;
图10的视图示意性示出根据本发明第一实施例的第一修改的图形绘制设备的示例性配置;
图11的视图示意性示出根据本发明第一实施例的第一修改的图形绘制设备的示例性配置;
图12的视图示意性示出根据本发明第一实施例的第二修改的图形绘制设备的示例性配置;
图13的视图示意性示出根据本发明第一实施例的第三修改的图形绘制设备的示例性配置;
图14的视图示意性示出根据本发明第二实施例的图形绘制设备的示例性配置;
图15的视图示出本发明第二实施例中使用的处理流程;
图16的视图示出示例性扫描线数据;
图17的视图示出示例性扫描形状数据;
图18的视图示出本发明第二实施例中非透明图例的示例性绘制;
图19的视图示出本发明第二实施例中半透明图形对象的示例性绘制;
图20的视图示出忽视与扫描线的自相交(self-intersection)的重叠的示例性图形绘制处理流程;
图21的视图示出根据本发明第二实施例绘制的图例的示例性轮廓;
图22的视图示出根据本发明第二实施例的示例性轮廓三角分割;
图23的视图示出与坐标轴平行、包围一组三角形数据集的示例性最小矩形数据;
图24的视图示出使用阿尔法值的绘制操作的流程;
图25的视图示出使用阿尔法值的绘制操作的第一步骤;
图26的视图示出使用阿尔法值的绘制操作的第二步骤;
图27的视图示出要绘制的图例的轮廓的计算处理流程;
图28的视图示出要绘制的图例的示例性轮廓;
图29的视图示出利用环绕数非零规则对与扫描线的自相交的示例性处理;
图30的视图示意性示出根据本发明第二实施例的第一修改的图形绘制设备的示例性配置;
图31的视图示意性示出根据本发明第二实施例的第二修改的图形绘制设备的示例性配置;
图32的视图示意性示出根据本发明第二实施例的第三修改的图形绘制设备的示例性配置;
图33的视图示意性示出根据本发明第二实施例的第四修改的图形绘制设备的示例性配置;
图34的视图示意性示出根据本发明第二实施例的第五修改的图形绘制设备的示例性配置;
图35的视图示意性示出根据本发明第二实施例的第六修改的图形绘制设备的示例性配置;
图36的视图示意性示出根据本发明第二实施例的第七修改的图形绘制设备的示例性配置;
图37的视图示意性示出根据本发明第二实施例的第八修改的图形绘制设备的示例性配置;
图38的视图示意性示出根据本发明第二实施例的第九修改的图形绘制设备的示例性配置;而
图39的视图示意性示出本发明的图形绘制设备的示例性配置。
具体实施方式
下面参照附图描述本发明的实施例。图1是根据本发明实施例的图形绘制设备的模块图。图形绘制设备包含:向量数据组管理单元01,用于管理表示图形对象(图例)的形状的向量数据组;绘制属性数据组管理单元03,用于管理表示关于图形对象的填充属性信息的绘制属性数据;资源信息管理单元02,用于管理指示使用状态的资源信息;特征计算单元12,其读取向量数据组管理单元01管理的向量数据组,并且计算指示输入图形对象的几何特征的特征;绘制操作切换单元04,其读取特征计算单元12计算的特征和资源信息管理单元02管理的资源信息,并且进行切换以产生最优绘制数据;多个绘制数据产生单元(第一绘制数据产生单元05,第二绘制数据产生单元07,和第N绘制数据产生单元09),其操作由绘制操作切换单元04控制,并且读取绘制属性数据管理单元01管理的向量数据组和绘制属性数据管理单元03管理的绘制属性数据,并产生不同的绘制数据集;和多个绘制单元(第一绘制单元06,第二绘制单元08,和第N绘制单元10),其读取绘制数据产生单元05,07和09产生的绘制数据,以及绘制属性数据管理单元01管理的绘制属性数据,并且执行不同绘制操作。
图39示出了图1所示的配置的修改配置。在图39示出的配置中,图形绘制设备进一步配有用于管理要与资源信息比较的阈值的资源信息阈值管理单元13,和用于管理要与特征比较的阈值的特征阈值管理单元14。在这个配置中,绘制操作切换单元04被配置成通过比较特征计算单元12计算的特征和特征阈值管理单元14管理的特征阈值;并且比较资源信息阈值管理单元13管理的资源信息阈值水平和资源信息管理单元02管理的资源信息来切换绘制数据产生单元。
第一实施例
现在描述本发明的第一实施例。
第一实施例示出了示例性的图形绘制设备,其以表示多边形的轮廓的向量数据组作为输入;并且根据在绘制操作期间设备中资源达到的状态来选择高速多边形绘制操作,以执行绘制操作。
总体配置
图2是根据第一实施例的图形绘制设备的模块图。
第一实施例的图形绘制设备包含:向量数据组输入单元101,用于输入表示多边形的轮廓的向量数据组;向量数据组管理单元102,用于管理表示多边形的轮廓并且已经通过向量数据组输入单元101输入的向量数据组;绘制属性数据输入单元103,用于输入表示多边形的填充(内部)区域的属性的绘制属性数据;绘制属性数据管理单元104,用于管理通过绘制属性数据输入单元103输入的绘制属性数据;存储器使用状态数据输入单元105,用于获得存储器的使用状态;存储器使用状态数据管理单元106,用于管理通过存储器使用状态数据输入单元105输入的存储器使用状态数据;第一参考值管理单元107,用于管理在确定是否切换绘制操作时被参考的存储器使用状态参考值;第二参考值管理单元108,用于管理关于与图形对象的轮廓的自相交的自相交参考值,该自相交参考值在确定切换绘制操作时被参考;第一绘制操作切换单元109,其读取第一参考值管理单元107管理的存储器使用状态参考值和存储器使用状态数据管理单元106管理的存储器使用状态数据,对如此读取的值和数据进行比较和确定,并且控制第一绘制数据产生单元110和自相交计算单元112(后面会描述)的操作,其中第一绘制数据产生单元110的操作由第一绘制操作切换单元109控制,第一绘制数据产生单元110读取向量数据组管理单元102管理的向量数据组,并且产生用于利用模板缓冲区进行绘制操作的绘制数据;第一绘制单元111,其读取第一绘制数据产生单元110产生的绘制数据和绘制属性数据管理单元104管理的绘制属性数据,以更新模板缓冲区和利用模板缓冲区执行绘制操作,其中自相交计算单元112的操作由第一绘制操作切换单元109控制,并且读取由向量数据组管理单元102管理的向量数据组,从而计算与图形对象轮廓的自相交的数量;自相交管理单元113,用于保持关于自相交计算单元112计算的图形对象轮廓内的自相交的信息;第二绘制操作切换单元114,其读取由自相交管理单元113管理的图形对象轮廓内的自相交的数量和由第二参考值管理单元108管理的自相交参考值,并且将如此读取的数量和值进行比较和确定,从而控制第二绘制数据产生单元115和第三绘制数据产生单元117(后面会描述)的操作,其中第二绘制数据产生单元115的操作由第二绘制操作切换单元114控制,第二绘制数据产生单元115读取向量数据组管理单元102管理的向量数据组和绘制属性数据管理单元104管理的绘制属性数据,确定多边形的填充区域,并且通过将填充区域分割成三角形的聚集的处理产生三角形数据组;第二绘制单元116,其读取第二绘制数据产生单元115管理的三角形数据组和绘制属性数据管理单元104管理的绘制属性数据以执行绘制操作,第三绘制数据产生单元117的操作由第二绘制操作切换单元114控制,第三绘制数据产生单元117读取向量数据组管理单元102管理的向量数据组和绘制属性数据管理单元104管理的绘制属性数据,并且确定多边形的填充区域,以通过将填充区域分割成线段聚集的处理来产生线段数据组;第三绘制单元118,其读取第三绘制数据产生单元117产生的线段数据组和绘制属性数据管理单元104管理的绘制属性数据,以执行绘制操作;和绘制结果输出部分119,用于提交从第一绘制单元111,第二绘制单元116和第三绘制单元118中的任何一个输出的绘制结果。
在图2中,所有管理单元被表示成不同的模块。然而这些模块也可以被集中在单个存储器中或分到多个不同的存储器设备中。
下面参照图3示出的流程图描述本实施例的图形绘制设备的操作,并且参照图2描述各个模块的操作。
图形绘制的描述
现在描述第一实施例的图形绘制。通过根据任意规则确定由构成多边形轮廓的向量数据组包围的区域是内部还是外部,并且根据确定结果填充内部区域(填充区域)以绘制多边形,来实现本实施例中执行的图形绘制。
具体地,假定已经输入形成″多边形轮廓(通过一笔书写获得)″的向量数据组,例如图4所示的″点0″到″点5″,和包含用于确定填充区域的规则以及填充区域的颜色和不透明性(opacity)的绘制属性数据,绘制例如图5和6中所示的图例。图5和6之间的差别在于填充规则的差别。图5使用称作环绕数非零规则的示例性规则。图6是根据奇偶规则确定填充区域以绘制多边形的例子。
这些填充规则旨在用于:在多边形轮廓包围的区域中沿任意方向从任意点绘制射线;每当射线和图形对象轮廓相交时根据交点的方向递增或递减计数器;和根据如此获得的计数数值来确定该区域是内部还是外部。根据环绕数非零规则,除非计数数值为零,则该区域被确定为内部。根据奇偶规则,当计数数值为奇数时,该区域被确定为内部。
在文献″Scalable Vector Graphics(SVG)1.1 Specification″,W3C Recommendation 14,January 2003中描述了上述规则的细节。在WEB站点:www.w3.org/TR/SVG可得到该文献。
在绘制操作中,作为由设置了颜色和不透明性的像素构成的光栅数据来最终输出多边形。
第一实施例中的一般处理流程
现在参照图3示出的流程图描述执行第一实施例的图形绘制所遵循的处理流程。
当图形绘制设备启动图形绘制操作时,输入向量数据组,绘制属性数据和存储器使用状态数据(步骤1001)。
接着,根据存储器使用状态数据和有关是否使用模板缓冲区的确定结果,确定利用模板缓冲区的绘制操作是否可行(步骤1002)。
当步骤1002的确定表明利用模板缓冲区可行时,产生用于使用模板缓冲区的绘制数据(步骤1003)。使用绘制数据更新模板缓冲区,并且利用模板缓冲区执行绘制操作,以进行绘制操作(步骤1004)。
当步骤1002的确定表明利用模板缓冲区不可行时,根据图形对象的几何特征计算与图形对象轮廓的自相交的数量,以便选择能够高速执行的图形处理(步骤1005)。接着,将如此计算的自相交数量与阈值比较,从而确定利用三角分割的绘制和利用线分段的绘制中的哪一个将被使用(步骤1006)。
当步骤1006的确定表明利用三角分割的绘制更加快速时,产生通过将输入图形对象分割成三角形来形成的绘制数据(步骤1007),并且通过三角形绘制来绘制图形对象(步骤1008)。当步骤1006的确定表明利用线分段的绘制更加快速时,产生通过将输入图形对象分割成线段来形成的绘制数据(步骤1009),并且通过线分段绘制操作来绘制图形对象(步骤1010)。
如上所述,在任何步骤中执行绘制,并且输出绘制结果(步骤1011)。下面将更详细地描述各个步骤。
向量数据组说明
首先描述形成图形对象的轮廓的向量数据组,向量数据组是图形绘制的输入之一。
本实施例中处理的形成多边形轮廓的向量数据组(下面也被称作″向量数据组″)由N个集合构成,每个集合包括点数据P1到PN,点数据具有二维或三维坐标值。根据点数据,轮廓的第n个向量能够被定义成Vn=Pn-Pn+1,其中n=0,...,N-1。当没有达到P0=PN-1时,多边形没有闭合。然而在这种情况下,在假设达到PN=P1的虚拟点的情况下执行处理。
由向量数据组形成的多边形能够采取由一般多边形构成的任意形状,并且可以采取凹陷形状或自相交形状,以及凸起形状。
向量数据组输入单元101
向量数据组管理单元102
由向量数据组输入单元101执行形成多边形轮廓的向量数据组的输入,向量数据组是如前所述用于图形绘制的输入中的一个,并且输入数据被存储在向量数据组管理单元102中。
向量数据的输入被实现为读取先前存储在辅助存储设备,FD,CD-ROM,DVD-ROM等等中的数据,或通过例如鼠标,键盘,键盘,书写板或触摸板的人机接口设备执行的输入的交互式读取。
绘制属性的说明
现在描述作为图形绘制输入之一的绘制属性。
本实施例中使用的绘制属性包含关于图形对象绘制期间使用的属性的信息,例如填充规则的指定,填充区域的颜色和不透明性,等等。
用于确定多边形填充规则的任意值被设置成填充规则的指定值。用于填充图形对象的内部(填充)区域的色彩信息被描述为填充区域颜色,并且表示图形对象的填充区域的透明度的值被描述为不透明性。当针对不透明性输入表明图形对象的填充区域为半透明的值时,根据由不透明性指示的透明比例合成图形对象和有关图形对象后面的背景。
绘制属性数据输入单元103
绘制属性数据管理单元104
由绘制属性数据输入单元103执行输入绘制属性数据的处理,绘制属性数据是如前所述用于图形绘制的输入中的一个,并且输入数据被存储在绘制属性数据管理单元104中。绘制属性数据的输入被实现为读取先前存储在辅助存储设备,FD,CD-ROM,DVD-ROM等等中的数据,或通过例如鼠标,键盘,键盘,书写板或触摸板的人机接口设备执行的输入的交互式读取。
用于切换绘制操作的确定的说明
现在描述用作本实施例中的绘制切换确定值的数据。在本实施例中,存储器使用状态数据和与图形对象轮廓的自相交被用作绘制切换确定值。根据要通过该数据切换的绘制操作的特征来确定这些数据集。利用本实施例的模板缓冲区进行绘制使得能够进行高速处理。然而,需要用于保证模板缓冲区的存储器区域。因此,根据执行绘制操作期间存储器的使用状态,确定利用模板缓冲区的绘制是否可行,从而能够根据资源的状态来选择绘制操作。
在本实施例中,根据输入的向量数据组的复杂度,涉及多边形三角分割的绘制导致的处理成本变得高于涉及线分段的绘制导致的处理成本。因此,如图7所示,输入向量数据组中产生的交点的数量(自相交的数量)被用作表示向量数据组的复杂度的值,该值对处理成本有很大影响,从而允许根据输入数据来选择绘制操作。
存储器使用状态数据输入单元105
存储器使用状态数据管理单元106
由存储器使用状态数据输入单元105执行输入存储器使用状态数据(是上述绘制操作切换确定值之一)的处理,并且输入数据被存储在存储器使用状态管理单元106中。这里,术语″存储器使用状态″表示绘制期间使用的存储区的量,在该存储区中存储(临时或永久)构成本实施例的图形绘制设备的每个模块的处理操作中使用的数据。具体地,存储器使用状态是根据存储器的最大量(对应于当存储器根本没有使用时可用的存储器的量)和绘制期间实际使用的存储器的量而确定的值。
第一实施例的存储器使用状态不局限于构成图形绘制设备的各个模块使用公共存储器区域的情况,或各个模块使用各自存储器区域的情况。
当使用公共存储器区域时,能够通过将关于公共存储器区域的存储器使用状态数据作为输入的方法来获得存储器使用状态。可选地,当使用各自存储器区域时,通过读取所有存储器区域的存储器使用状态以计算所需存储器使用状态或限制需要其存储器使用状态的模块以读取该模块的存储器使用状态的另一方法,能够获得存储器使用状态。
涉及利用模板缓冲区确定图形对象填充区域的绘制操作
涉及利用模板缓冲区确定图形对象填充区域的绘制操作的流程如图8所示,并且下面将进行描述。
如图9所示,模板缓冲区是保持在绘制操作期间用于逐个像素地确定是否允许/禁止绘制的值的缓冲区,并且也指使用该缓冲区的绘制方法。
为了在利用模板缓冲区确定图形对象的填充区域之后进行绘制,表示图形对象的外周的向量数据组作为输入被读取(步骤6001)。接着,根据特定规则,由如此读取的向量数据组产生用于更新模板缓冲区的绘制数据(步骤6002)。通过在模板缓冲区中绘制如此产生的绘制数据,递增或递减模板缓冲区的计数器(步骤6003)。结果,在模板缓冲区中设置允许确定图形对象的填充区域的值。在图形绘制操作期间,根据填充规则评估这个值,从而控制像素的写入。通过利用模板缓冲区绘制包围一组输入向量数据集(下面也被称作″输入向量数据组″)的最小矩形,能够绘制填充区域(步骤6004)。结果,能够绘制符合填充规则的图形对象。
使用模板缓冲区的图形绘制需要高绘制成本。然而,在绘制确定方面,根据标准规则仅仅产生用于更新模板缓冲区的图形对象,这导致低成本。因此,当兼容使用模板缓冲区的绘制操作的图形LSI可用时,能够高速处理图形绘制操作。然而,这个方法需要用于保证模板缓冲区的存储器区域。因此,当由于资源不足而不能保证缓冲区时,不能使用这个方法。
在非专利文献3中详细描述了使用模板缓冲区的图形绘制操作。请参考该文献。
第一绘制操作切换单元109
第一参考值管理单元107
接着描述第一绘制操作切换单元109。如上所述,使用模板缓冲区的绘制操作允许进行高速绘制操作。然而当不能保证模板缓冲区时,不能使用绘制操作。因此,第一绘制操作切换单元确定图形绘制设备中的存储器的使用状态(步骤1002)。当能够保证模板缓冲区时,产生用于使用模板缓冲区执行绘制操作的绘制数据(步骤1003)。当不能保证模板缓冲区时,执行涉及下一步骤的处理,该处理中执行用于由输入图形对象的特征确定高速绘制操作的处理(步骤1005)。
通过比较当执行图形绘制操作时获得的、由存储器使用状态数据管理单元106管理的关于图形绘制设备的存储器使用状态数据M,与第一参考值管理单元107管理的保证模板缓冲区所需的最低存储器使用状态的参考值Mref,确定存储器的使用状态。当M满足Mref时,使第一绘制数据产生单元110工作。当M不同于Mref时,使自相交计算单元112执行操作。
由图形绘制设备的输出和其配置确定第一参考值管理单元107管理的存储器使用状态参考值。是否能够保证模板缓冲区取决于输出绘制的分辨率和可用存储器的最大量。在是否能够保证模板缓冲区和输出绘制的分辨率之间的关系方面,模板缓冲区的大小通常与输出绘制的分辨率相同。因此,输出绘制的分辨率越大,则保证模板缓冲区就越困难。此外,对于可用存储器的最大量,当模板缓冲区大小大于存储器的最大量时,大多数存储器被模板缓冲区使用。另一任务使得存储器不可用的潜在风险变高。当存储器已经进入这种状态时,在多个模块共享存储器的本实施例中,整个绘制设备的处理性能大大降低。
通过图形绘制设备的输出和其配置来确定关于存储器的使用状态的参考值。
为了有效避免这个问题的出现,也存在用于和任务的状态一起动态改变参考值的方法。
第一绘制数据产生单元110
现在描述第一绘制数据产生单元110。当第一绘制操作切换单元109已经确定能够保证模板缓冲区时,使第一绘制数据产生单元工作。读取向量数据组管理单元102管理的向量数据组,产生用于更新模板缓冲区的绘制数据和用于利用模板缓冲区绘制图形对象的绘制数据(步骤1003)。
在这个实施例中产生的绘制数据包含使用向量数据组产生并且用于在上述″利用模板缓冲区确定图形对象的填充区域的绘制操作″中更新模板缓冲区的三角形数据,和用于利用模板缓冲区绘制图形对象的填充区域的矩形数据。
在上述相关技术文献3中详细描述了用于产生绘制数据的方法。
第一绘制单元111
第一绘制数据产生单元产生的绘制数据被输入到第一绘制单元111,在第一绘制单元111中执行绘制操作。现在描述第一绘制单元111。第一绘制单元111读取绘制属性数据管理单元104管理的绘制属性数据和第一绘制数据产生单元110产生的绘制数据。首先,更新模板缓冲区。接着,根据绘制属性数据指示的填充规则,利用如此更新的模板缓冲区执行绘制操作(步骤1004)。具体地,如结合″利用模板缓冲区确定图形对象的填充区域的绘制操作″所提及的,根据第一绘制数据产生单元通过绘制用于更新模板缓冲区的三角形数据而产生的绘制数据,更新模板缓冲区。接着,利用更新的模板缓冲区绘制用于绘制图形对象的填充区域的矩形数据,此时完成图形对象的绘制。
在实际绘制三角形和矩形方面,可以使用为绘制三角形或矩形专门设计的硬件,或可以使用通用图形处理LSI;或可以使用其它手段来执行绘制。
自相交计算单元112
自相交管理单元113
现在描述自相交计算单元112。当第一绘制操作切换单元109已经确定不能保证模板缓冲区时,执行自相交计算单元以计算与图形对象的轮廓的自相交(步骤1005)。
通过以下方法来计算与图形对象的轮廓的自相交:读取构成多边形的轮廓和由向量数据组管理单元102管理的向量数据组;确定向量之间的交点;和计算交点的坐标,交点之间的拓扑关系,以及交点的总数。
如此计算的自相交数据不局限于绘制操作的确定,而且也可以用于三角形绘制操作。自相交数据被存储在自相交管理单元113中,使得能够分别读取交点的坐标,交点之间的拓扑关系和交点的总数。
第二绘制操作切换单元114
第二参考值管理单元108
现在描述第二绘制操作切换单元114。第二绘制操作切换单元比较由自相交管理单元113管理的自相交的数量和由第二参考值管理单元108管理的参考值,该参考值表示这样的自相交数量,即在该数量处,三角形绘制导致的处理成本变得高于线分段绘制导致的处理成本,反之亦然。当确定三角形绘制更快速时,执行通过三角分割产生绘制数据的处理。相对比地,当确定线分段绘制更快速时,执行通过线分段产生绘制数据的处理(步骤1006)。
通过比较自相交管理单元113管理的自相交数量Nis和第二参考值管理单元108管理的表示自相交数量的参考值Nisref来确定自相交数量,在所述参考值处切换图形处理性能。当满足关系Nis<Nisref时,执行第二绘制数据产生单元115。在其它情况下,执行第三绘制数据产生单元117。
关于自相交数量并且要由第二参考值管理单元108管理的参考值,可以通过实际执行处理的图形绘制设备所执行的三角形绘制,和参考自相交的数量对线分段绘制导致的处理成本的测量而经验性确定。可选地,也可以通过各个绘制算法在理论上确定参考值。
通过三角形绘制和线段(扫描线)分割来确定绘制
现在描述通过相关技术方法(3)指示的三角分割来确定绘制所导致的处理成本,和通过相关技术方法(2)指示的线分段来确定绘制所导致的处理成本。利用三角分割确定绘制对应于这样的处理,该处理用于确定由轮廓包围的多边形的每个区域中的填充区域,以及当确定区域为填充区域时将填充区域分割成图形LSI容易处理的三角形。在这个处理操作中,与多边形的轮廓的自相交的数量越小,则填充区域确定操作的数量和要进行填充处理以及与其相关的三角分割的区域的数量就越大。因此,处理成本增加。
相对比地,在利用线分段的图形处理中,针对在输出期间获得的每个扫描线分割多边形,并且确定分割的区域是否填充区域。在这个处理操作期间确定填充区域所导致的处理成本严重依赖于扫描线数。在每个扫描线中,填充处理是一维问题,因此多边形的复杂化的影响较小。
如上所述,当与多边形轮廓的自相交的数量较小时,通过三角分割确定绘制时导致的处理成本较低。当与多边形轮廓的自相交的数量较大时,通过线分段确定绘制时导致的处理成本较低。因此,对与多边形轮廓的自相交的数量进行比较,以选择导致低成本的绘制确定。结果,自适应地对图例进行高速绘制。
第二绘制数据产生单元115
接着描述第二绘制数据产生单元115。当第二绘制操作切换单元114已经确定输入多边形的三角分割图形处理更快速时,使第二绘制数据产生单元工作。第二绘制数据产生单元读取向量数据组管理单元102管理的构成多边形轮廓的向量数据组,绘制属性数据管理单元104管理的绘制属性数据,和自相交管理单元113管理的图形自相交数据;确定成为多边形的填充区域的区域;和产生作为三角形的聚集的数据(1007)。
在上述相关技术文献2中详细描述了多边形三角分割的细节。
在本文中描述的方法仅仅是实施例,本发明不局限于这个方法。
第二绘制单元116
第二绘制数据产生单元115产生的绘制数据被输入到第二绘制单元116,在第二绘制单元116中对数据进行绘制。现在描述第二绘制单元116。
第二绘制单元读取绘制属性数据管理单元104管理的绘制属性数据和第二绘制数据产生单元115产生的一组三角形数据,并且执行绘制(步骤1008)。
具体地,在三角形数据上设置由绘制属性数据指定的关于图形对象的填充区域的属性,例如颜色,不透明性等等,从而执行绘制。
为绘制三角形专门设计的硬件或通用图形处理LSI也可以被用于实际绘制三角形。可选地,也可以使用其它手段以软件方式执行三角形绘制。
第三绘制数据产生单元117
现在描述第三绘制数据产生单元117。当第二绘制操作切换单元114确定输入多边形的线分段图形处理更快速时,使第三绘制数据产生单元工作。第三绘制数据产生单元读取向量数据组管理单元102管理的构成多边形轮廓的向量数据组,和绘制属性数据管理单元104管理的绘制属性数据;沿扫描线的方向将包含多边形的区域分割成线段;进一步逐个线段地确定线段是否属于填充区域或图形对象的外部区域,以分割图形对象和产生关于图形对象的填充区域的线段数据(步骤1009)。
将多边形分割成线段的绘制包含例如逐扫描线图形绘制等等的方法。术语″逐扫描线图形绘制″是指绘制被作为逐个扫描线执行的处理;即,逐个扫描线地通过多个线绘制图形对象中的非透明区域的处理。例如,可使用多边形图形对象。当考虑绘制这个图形对象时,能够在逐个扫描线地分割多边形图形对象以进行线绘制操作的同时绘制该多边形图形对象。以像素级精度绘制各个线。
用多个线的绘制替换多边形图形对象的绘制。绘制一条线只需要绘制线的起点和终点。具体地,当考虑逐个扫描线地执行图形绘制时,唯一的要求可以说是计算要绘制的线的起点和终点。
第三绘制单元118
第三绘制数据产生单元产生的绘制数据被输入到第三绘制单元118,在第三绘制单元118中执行绘制操作。现在描述第三绘制单元118。
第三绘制单元读取绘制属性数据管理单元104管理的绘制属性数据和第三绘制数据产生单元117产生的一组线段数据集,并且执行绘制(步骤1010)。
具体地,在线段数据上设置由绘制属性数据指定的关于图形对象的填充区域的属性,例如颜色,不透明性等等,从而执行绘制。为绘制线段专门设计的硬件或通用图形处理LSI也可以被用于实际绘制线段。可选地,也可以使用其它手段以软件方式执行线段绘制。
绘制结果输出部分119
现在描述绘制结果输出部分119。绘制结果输出部分输出由第一绘制单元111,第二绘制单元116和第三绘制单元118中的任何一个获得的绘制结果(步骤1011)。
绘制单元获得的绘制结果对应于逻辑像素数据。因此,通过根据输出要传送到的目的地的形式转换绘制结果,绘制结果输出部分产生输出。
绘制结果可以被输出到例如CRT,LCD等等的显示设备;例如打印机的打印设备;例如主存储设备,辅助存储设备,CD,DVD等等的记录介质;或其它设备或装置。
上述方法仅仅是实施例,本发明不局限于这个方法。
第一实施例的优点
在第一实施例中,能够根据图形绘制设备的工作状态执行最快速的绘制操作。当设备繁忙时,图形绘制性能的降低最小,并且当设备处于空闲状态时能够执行高速绘制。
这对于例如紧凑PC,便携电话,具有交互式图形绘制特性的AV设备等等那样硬件资源有限的情况,以及执行多个不同类型的处理操作的任务在单个硬件上运行的情况尤其有效。
第一实施例的第一修改
图10是根据本发明第一实施例的第一修改的图形绘制设备的总体模块图。
结合第一实施例,第一实施例的图形绘制设备被配置成具有取代第一参考值管理单元的第一参考值校正单元,和代替第二参考值管理单元的第二参考值校正单元。
第一参考值校正单元
现在描述第一参考值校正单元。第一参考值校正单元根据与存储器使用状态数据的确定相关的值(例如输出绘制的分辨率)计算要与存储器使用状态数据进行比较的参考值。
具体地,如针对第一参考值管理单元107描述的,所需模板缓冲区的大小根据输出绘制的分辨率而大大改变。因此,根据输出绘制的分辨率和模板缓冲区的精度计算所需的最低存储器使用状态。
从而,即使设备的存储器使用在多个模式中改变,或当输出绘制的分辨率被动态改变时,仍能够根据绘制状态动态改变参考值。
第二参考值校正单元
现在描述第二参考值校正单元。第二参考值校正单元根据与自相交数量的确定相关的值(例如绘制数据产生单元的处理状态)计算要与自相交数量进行比较的参考值。
具体地,如针对第二参考值管理单元108所描述的,关于自相交数量的参考值根据每个绘制操作的成本而改变。因此,由绘制操作的当前状态中达到的处理成本来计算关于自相交数量的参考值。能够根据设备的处理状态动态改变参考值。第一参考值校正单元和第二参考值校正单元根据设备的操作状态动态校正参考值。通过校正操作,能够以更加具体的方式控制绘制操作的切换,从而提高处理效率。已经描述了参考值的示例性动态校正。然而本发明不局限于这个例子。能够使用任何允许动态校正参考值的方法。结合本发明第一实施例的第一修改的后续处理,根据需要,用关于参考值输入单元读取参考值校正单元校正的参考值的说明来替换第一实施例中关于参考值输入单元读取参考值的说明。除上述操作之外的操作与第一实施例中的操作相同。
第一修改的优点
当与第一实施例比较时,第一修改通过根据设备的操作状态切换绘制操作而使得能够在设备处于空闲状态时进行高速绘制,以便即使在设备繁忙时也能够使绘制操作的性能降低最小。
这对于例如紧凑PC,便携电话,具有交互式图形绘制特性的AV设备等等那样硬件资源有限的情况,以及执行多个不同类型的处理操作的任务在单个硬件上运行的情况尤其有效。
第一实施例的第二修改
图11示出根据第一实施例的第二修改的图形绘制设备。除了从第一实施例的图形绘制设备中省略第一参考值管理单元107,存储器使用状态数据输入单元105,存储器使用状态数据管理单元106,第一绘制操作切换单元109,第一绘制数据产生单元110和第一绘制单元111之外,第二修改的图形绘制设备与第一实施例的图形绘制设备相同。因此,第一实施例的第二参考值管理单元对应于第二修改的参考值管理单元;第一实施例的第二绘制操作切换单元对应于第二修改的绘制操作切换单元;第一实施例的第二绘制数据产生单元对应于第二修改的第一绘制数据产生单元;第一实施例的第二绘制单元对应于第二修改的第一绘制单元;第一实施例的第三绘制数据产生单元对应于第二修改的第二绘制数据产生单元;第一实施例的第三绘制单元对应于第二修改的第二绘制单元。
现在结合第一实施例描述第二修改。在输入向量数据组和绘制属性数据之后,取代第一绘制操作切换单元109,使自相交计算单元112操作,并且继续处理。具体地,在图3示出的第一实施例的处理流程中,通过跳过步骤1002,使处理从步骤1001前进到步骤1005。第二修改的图形绘制设备以和第一实施例的对应装置进行操作的方式相同的方式操作,除了上述操作之外。
第二修改的优点
在不能利用模板缓冲区的第二修改中,能够根据输入图例执行高速绘制。与第一实施例比较,第二修改在硬件资源有限的情况下更加有效。
第一实施例的第三修改
图12示出根据第一实施例的第三修改的图形绘制设备。除了从第一实施例的图形绘制设备中省略第二参考值管理单元108,自相交计算单元112,自相交管理单元113,第二绘制操作切换单元114,第二绘制数据产生单元115和第二绘制单元116之外,第三修改的图形绘制设备与第一实施例的图形绘制设备相同。
因此,第一实施例的第一参考值管理单元对应于第三修改的参考值管理单元;第一实施例的第一绘制操作切换单元对应于第三修改的绘制操作切换单元;第一实施例的第三绘制数据产生单元对应于第三修改的第二绘制数据产生单元;第一实施例的第三绘制单元对应于第三修改的第二绘制单元。
现在结合第一实施例描述第三修改。当第一绘制操作切换单元109已经确定不能保证模板缓冲区时,使第三绘制数据产生单元117操作,并且处理继续。具体地,在图3示出的第一实施例的处理流程中,当在步骤1002的确定表明不可能保证模板缓冲区时,使处理前进到步骤1009。第三修改的图形绘制设备以和第一实施例的对应装置进行操作的方式相同的方式操作,除了上述操作之外。
第三修改的优点
在使用低速绘制三角形而不是绘制线段的硬件执行绘制的实施例中,或在输入向量数据组的自相交数量预先确定为大于高速执行三角形绘制时达到的数量的实施例中,能够根据设备的操作状态高速执行绘制。
本修改对于通过比第一实施例更加有限的硬件来执行处理的情况和输入向量数据组中自相交数量较大的情况有效。
第一实施例的第四修改
图13示出根据第一实施例的第四修改的图形绘制设备。除了从第一实施例的图形绘制设备中省略第二参考值管理单元108,自相交计算单元112,自相交管理单元113,第二绘制操作切换单元114,第三绘制数据产生单元117和第三绘制单元118之外,第四修改的图形绘制设备与第一实施例的图形绘制设备相同。
因此,第一实施例的第一参考值管理单元对应于第四修改的参考值管理单元;第一实施例的第一绘制操作切换单元对应于第四修改的绘制操作切换单元。
现在结合第一实施例描述第四修改。当第一绘制操作切换单元109已经确定不能保证模板缓冲区时,使第二绘制数据产生单元115工作,并且处理继续。具体地,在图3示出的第一实施例的处理流程中,当在步骤1002的确定表明不可能保证模板缓冲区时,使处理前进到步骤1007。第四修改的图形绘制设备以和第一实施例的对应装置进行操作的方式相同的方式操作,除了上述操作之外。
第四修改的优点
在使用低速绘制线段而不是绘制三角形的硬件执行绘制的实施例中,能够根据设备的操作状态高速执行绘制。本修改对于通过比第一实施例更加有限的硬件来执行处理的情况有效。
第二实施例
第二实施例示出了示例性的图形绘制设备,其以关于扫描线的向量数据和关于沿扫描线扫描的形状的向量数据作为输入,并且参照在绘制操作期间设备的背景选择要扫描的图例的高速绘制,从而执行绘制操作。
图14示出根据本发明第二实施例的图形绘制设备。第二实施例的图形绘制设备包含:扫描线数据输入单元1101,用于输入指示扫描线的向量数据组;扫描线数据管理单元1102,用于存储通过扫描线数据输入单元1101输入的扫描线数据;扫描形状数据输入单元1103,用于输入指示要扫描的形状的向量数据组;扫描形状数据管理单元1104,用于管理通过扫描形状数据输入单元1103输入的扫描形状数据;绘制属性数据输入单元1105,用于输入表示图形对象的填充区域的属性的绘制属性数据;绘制属性数据管理单元1106,用于管理通过绘制属性数据输入单元1105输入的绘制属性数据;存储器使用状态数据输入单元1107,用于获得存储器的使用状态;存储器使用状态数据管理单元1108,用于管理通过存储器使用状态数据输入单元1107输入的存储器使用状态数据;绘制操作状态数据输入单元1109,用于获得绘制操作状态数据;绘制操作状态数据管理单元1110,用于管理通过绘制操作状态数据输入单元1109输入的绘制操作状态数据;第一参考值管理单元1111,用于管理在确定是否切换绘制操作时被参考的不透明性参考值;第二参考值管理单元1112,用于管理在确定切换绘制操作时被参考的存储器使用状态参考值;第三参考值管理单元1113,用于管理在确定切换绘制操作时被参考的绘制操作状态数据的参考值;第一绘制操作切换单元1114,其读取绘制属性数据管理单元1106管理的绘制属性数据和第一参考值管理单元1111管理的不透明性参考值,对如此读取的值和数据进行比较和确定,并且控制第一绘制数据产生单元1115和第二绘制操作切换单元1117(后面会描述)的操作,其中第一绘制数据产生单元1115的操作由第一绘制操作切换单元1114控制,第一绘制数据产生单元1115读取扫描线数据管理单元1102管理的扫描线数据和扫描形状数据管理单元1104管理的扫描形状数据,并且通过忽视图形对象之间的重叠的处理产生绘制数据;第一绘制单元1116,其读取第一绘制数据产生单元1115管理的绘制数据和绘制属性数据管理单元1106管理的绘制属性数据,以执行绘制操作,其中第二绘制操作切换单元1117的操作由第一绘制操作切换单元1114控制,第二绘制操作切换单元1117读取存储器使用状态数据管理单元1108管理的存储器使用状态数据和第二参考值管理单元1112管理的存储器使用状态参考值,对如此读取的值和数据进行比较和确定,并且控制第二绘制数据产生单元1118和第三绘制操作切换单元1120(后面会描述)的操作;由第二绘制操作切换单元1117控制的第二绘制数据产生单元1118,其读取扫描线数据管理单元1102管理的扫描线数据和扫描形状数据管理单元1104管理的扫描形状数据,并且产生用于利用深度测试进行绘制操作的绘制数据;第二绘制单元1119,其读取第二绘制数据产生单元1118产生的绘制数据和绘制属性数据管理单元1106管理的绘制属性数据,以利用深度测试执行绘制操作,其中第三绘制操作切换单元1120的操作由第二绘制操作切换单元1117控制,第三绘制操作切换单元1120读取绘制操作状态数据管理单元1110管理的绘制操作状态数据和第三参考值管理单元1113管理的绘制操作状态参考值,对如此读取的值和数据进行比较和确定,并且控制第三绘制数据产生单元1121和第四绘制数据产生单元1123(后面会描述)的操作,第三绘制数据产生单元1121的操作受第三绘制操作切换单元1120控制,第三绘制数据产生单元1121读取扫描线数据管理单元1102管理的扫描线数据和扫描形状数据管理单元1104管理的扫描形状数据,并且产生用于利用阿尔法值进行绘制的绘制数据;第三绘制单元1122,其读取第三绘制数据产生单元1121产生的绘制数据和绘制属性数据管理单元1106管理的绘制属性数据,并且利用阿尔法值执行绘制操作,其中第四绘制数据产生单元1123的操作由第三绘制操作切换单元1120控制,并且读取由扫描线数据管理单元1102管理的扫描线数据和扫描形状数据管理单元1104管理的扫描形状数据,计算图形对象的轮廓并且通过多边形绘制操作产生绘制数据;第四绘制单元1124,其读取第四绘制数据产生单元1123管理的绘制数据和绘制属性数据管理单元1106管理的绘制属性数据,以执行绘制操作;和绘制结果输出部分1125,用于提交从第一绘制单元1116,第二绘制单元1119,第三绘制单元1022和第四绘制单元1124中的任何一个输出的绘制结果。
在图14中,所有管理单元被表示成不同的模块。然而这些模块也可以被集中在单个存储器中或分到多个不同的存储器设备中。
类似地,绘制单元被表示成不同模块。然而这些模块也可以被集中在具有多个功能的单个绘制处理器中或分到多个不同的绘制处理器中。
下面参照图15示出的流程图描述第二实施例的图形绘制设备的操作,并且参照图14描述各个模块的操作。
图形绘制的描述
首先,现在描述本实施例的图形绘制。本实施例中执行的图形绘制用于由形成扫描线的向量数据组和关于要沿扫描线扫描的形状的数据绘制能够通过扫描扫描形状数据来形成的图形对象。
此时,根据特定规则填充图形对象的内部(填充)区域。具体地,假定已经输入形成″扫描线(通过一笔书写获得)″的向量数据组,例如图16所示的″点0″到″点5″,形成″扫描形状″的向量数据组,例如图17示出的″点7″到″点9″,和包含填充区域的填充规则和颜色及不透明性的绘制属性数据,绘制例如图18和19中所示的图形对象。在图18和19中,通过绘制轨迹来获得扫描形状,以作为图形对象,其中通过沿扫描线进行扫描能够形成所述轨迹。因此,当扫描形状位于扫描线上的任意点时,图形对象的填充区域被定义成扫描形状的填充区域。对于扫描线中存在自相交的区域,即使如图19所示填充区域是非透明的,仍然以重叠方式在不填充交点的情况下以单个颜色执行绘制。
因此,当填充区域非透明并且存在自相交时,需要检测交点和执行避免双重填充的处理。然而,当填充区域非透明时,无论自相交存在/不存在,均不需要执行避免双重填充的处理。因此,就上述图形绘制而言,本实施例描述了这样的图形绘制设备,其对照绘制操作执行期间图形绘制设备的操作状态的背景(backdrop),选择图形处理以允许高速绘制以重叠方式填充的区域。
在绘制操作中,作为由设置了颜色和不透明性的像素构成的光栅数据来最终输出图18和19示出的图形对象。
第二实施例中的一般处理流程
现在参照图15示出的流程图描述执行本实施例的图形绘制所遵循的处理流程。
当图形绘制设备启动图形绘制操作时,输入扫描线数据,扫描形状数据,绘制属性数据,存储器使用状态数据和绘制操作状态数据(步骤1201)。接着,根据绘制属性数据的不透明性,确定要绘制的图形对象中的重叠的绘制是否必要。
当在步骤1202的确定表明要绘制的图形对象中的重叠的处理不必要时,产生忽视要绘制的图形对象中的重叠、由三角形形成的绘制数据(步骤1203)。通过三角形绘制执行图形绘制操作(步骤1204)。
当在步骤1202的确定表明要绘制的图形对象中的重叠的处理必要时,通过比较存储器使用状态与阈值,确定是否能够利用深度缓冲区处理要绘制的图形对象中的重叠(步骤1205)。
当在步骤1205的确定表明深度缓冲区可用时,产生用于更新深度缓冲区和利用深度缓冲区进行绘制操作的绘制数据(步骤1206),并且执行更新深度缓冲区和利用深度缓冲区进行绘制的操作(步骤1207)。
当在步骤1202的确定表明深度缓冲区不可用时,将绘制单元的处理负载与阈值比较,并且确定是否能够利用阿尔法值高速处理要绘制的图形对象中的重叠(步骤1208)。
当步骤1208中的确定表明能够利用阿尔法值高速处理要绘制的图形对象中的重叠时,产生用于更新阿尔法值和利用阿尔法值执行绘制操作的绘制数据(步骤1209)。更新阿尔法值,并且执行利用阿尔法值进行绘制的操作(步骤1210)。
当步骤1208中的确定表明不能利用阿尔法值高速处理要绘制的图形对象中的重叠时,计算要绘制的图形对象的轮廓,并且产生通过将图形对象分割成三角形或线段而形成的绘制数据(步骤1211),通过三角形绘制或线绘制来执行绘制操作(步骤1212)。
如上所述,在任何步骤中执行绘制,并且输出绘制结果(步骤1213)。下面将更详细地描述各个步骤。
扫描线的说明
现在描述形成作为图形绘制输入之一的扫描线的向量数据组。形成结合本实施例描述的扫描线的向量数据组在结构上与结合第一实施例描述的向量数据组相同。
具体地,向量数据组由N个集合构成,每个集合包括点数据P1到PN,每个点数据具有二维或三维坐标。与第一实施例相比,由于扫描线不表示多边形,而是表示连续线段,即使没有达到P0=PN-1,仍然不经修改地处理扫描线。
扫描线数据输入单元1101的说明
扫描线数据管理单元1102
由扫描线数据输入单元1101执行形成扫描线的向量数据组的输入,向量数据组是如前所述用于图形绘制的输入中的一个,并且输入数据被存储在扫描线数据管理单元1102中。
扫描线数据的输入被实现为读取先前存储在辅助存储设备,FD,CD-ROM,DVD-ROM等等中的数据,或通过例如鼠标,键盘,键盘,书写板或触摸板的人机接口设备执行的输入的交互式读取。
扫描形状的说明
现在描述形成扫描形状的向量数据组,该向量数据组是用于图形绘制的输入之一,或是对应于向量数据组的一组点数据集。
形成本实施例中描述的扫描形状的向量数据组在结构上与结合第一实施例描述的向量数据组类似。
具体地,向量数据组由N个集合构成,每个集合包括点数据P1到PN,每个点数据具有二维或三维坐标。相对比地,当没有达到P0=PN-1时,多边形没有闭合,因此在假设达到PN=P1的虚拟点的情况下执行处理。
扫描形状数据输入单元1103的说明
扫描形状数据管理单元1104
由扫描形状数据输入单元1103执行形成扫描形状的向量数据组的输入,向量数据组是如前所述用于图形绘制的输入中的一个,输入数据被存储在扫描形状数据管理单元1104中。
扫描形状数据的输入被实现为读取先前存储在辅助存储设备,FD,CD-ROM,DVD-ROM等等中的数据,或通过例如鼠标,键盘,键盘,书写板或触摸板的人机接口设备执行的输入的交互式读取。
绘制属性的说明
现在描述作为图形绘制输入之一的绘制属性。
本实施例中使用的绘制属性对应于结合第一实施例描述的绘制属性,除了填充规则被去除之外。即,绘制属性包含关于图形对象绘制期间使用的属性的信息,例如填充区域的颜色和不透明性,等等。
绘制属性数据输入单元1105
绘制属性数据管理单元1106
由绘制属性数据输入单元1105执行绘制属性数据的输入,绘制属性数据是如前所述用于图形绘制的输入中的一个,输入数据被存储在绘制属性数据管理单元1106中。
绘制属性数据的输入被实现为读取先前存储在辅助存储设备,FD,CD-ROM,DVD-ROM等等中的数据,或通过例如鼠标,键盘,键盘,书写板或触摸板的人机接口设备执行的输入的交互式读取。
用于切换绘制操作的确定的说明
现在描述用作本实施例中的绘制切换确定值的数据。
在本实施例中,不透明性,存储器使用状态数据和绘制操作状态数据被用作绘制切换确定值。
根据要通过该数据切换的绘制操作的特征来确定这些数据集。对于本实施例的图形绘制,当绘制属性为半透明(translucent)时,必须执行检测要绘制的图形对象中的自相交和适当处理要绘制的图形对象中的重叠的操作。然而这导致处理成本的提高。因此,通过由不透明性确定要绘制的图形对象中是否存在重叠,能够根据输入数据选择高速绘制操作。
利用本实施例的深度测试进行绘制使得能够高速处理要绘制的图形对象中的重叠。深度测试是这样的处理,其用于为形成图形对象的向量数据给予包含深度位置的三维位置信息,并且比较关于背景深度的信息和关于绘制操作期间要绘制的图形对象的深度信息,从而控制是否执行绘制。深度测试是通用图形LSI的共同特性。该测试允许高速处理要绘制的图形对象中的重叠,但是利用深度测试需要用于保证存储深度信息的缓冲区(深度缓冲区)的存储器区域。因此,根据执行绘制操作期间存储器的使用状态,确定是否允许利用深度测试的绘制操作。能够根据资源的状态选择绘制操作。
利用本实施例的阿尔法值进行绘制使得能够高速处理要绘制的图形对象中的重叠。阿尔法值是用于逐个像素地存储除了关于颜色的信息之外的信息的值,并且当要绘制的图形对象和背景组在一起时通常取作比例。(在正常环境中,本实施例中使用的不透明性也被设置为阿尔法值)。因此,作为使用阿尔法值代替模板缓冲区的结果,也可以正确处理要绘制的图形对象中的重叠。然而,与模板缓冲区相比,在相同时刻,阿尔法值也被用作背景图像的合成比例。因此,需要在考虑合成操作的情况下阿尔法值的设置。模板缓冲区对应于用于逐个像素单元地控制是否允许写操作的功能。因此,当模板缓冲区被实现成硬件时,处理在禁止像素写入时高效地执行(几乎不执行浪费资源的合成操作)。根据使用阿尔法值的方法,通过合成操作获得相当于当禁止像素写入时获得的优点的优点,因此施加于绘制部分的处理负载高于在模板缓冲区的情况下施加的处理负载。因此,当在绘制操作期间施加于绘制部分的处理负载已经较高时,处理速度下降。因此,根据执行绘制操作期间绘制部分的处理状态,确定是否允许利用阿尔法值的绘制,从而能够根据资源的状态来选择绘制操作。
存储器使用状态数据输入单元1107
存储器使用状态数据管理单元1108
由存储器使用状态数据输入单元1107执行输入存储器使用状态数据(是上述绘制操作方法确定值之一)的处理,并且输入数据被存储在存储器使用状态管理单元1108中。这里,术语″存储器使用状态″表示绘制期间使用的存储区的量,在该存储区中存储(临时或永久)构成本实施例的图形绘制设备的每个模块的处理操作中使用的数据。具体地,存储器使用状态是根据存储器的最大量(对应于当存储器根本没有使用时可用的存储器的量)和绘制期间实际使用的存储器的量而确定的值。
本实施例的存储器使用状态不局限于构成图形绘制设备的各个模块使用公共存储器区域的情况,或各个模块使用各自存储器区域的情况。
当使用公共存储器区域时,能够通过将关于公共存储器区域的存储器使用状态数据作为输入的方法来获得存储器使用状态。可选地,当使用各自存储器区域时,通过读取所有存储器区域的存储器使用状态以计算所需存储器使用状态或限制需要其存储器使用状态的模块以读取该模块的存储器使用状态的另一方法,能够获得存储器使用状态。
绘制操作状态数据输入单元1109
绘制操作状态数据管理单元1110
由绘制操作状态数据输入单元1109执行输入绘制操作状态数据(是上述绘制操作方法确定值之一)的处理。绘制操作状态数据对应于表明执行绘制操作、例如图形LSI的设备的任务状态的值。
在本实施例中,由第一绘制单元1116,第二绘制单元1119,第三绘制单元1122和第四绘制单元1124提供的表明绘制操作的状态的数据被作为输入。
第一绘制操作切换单元1114
第一参考值管理单元1111
现在描述第一绘制操作切换单元1114。第一绘制操作切换单元确定要绘制的图形对象的填充区域属性是否表现出半透明性。当属性表现出不透明性时,执行允许高速处理和忽视扫描线的自相交中的重叠的绘制操作。当属性表现出半透明性时,执行涉及下一步骤的处理,其中确定用于高速处理扫描线的自相交中的重叠的图形处理(步骤1202)。通过比较绘制属性数据管理单元1106管理的绘制属性数据中包含的表示不透明性的值As和第一参考值管理单元1111管理的表示不透明性的值Aref,并且当As等于Aref时使得第一绘制数据产生单元1115(后面会描述)操作,执行不透明性的确定。当As不同于Aref时,使第二绘制操作切换单元1117工作。
第一绘制数据产生单元1115
现在描述第一绘制数据产生单元1115。当图形对象的填充区域非透明时,第一绘制操作切换单元1114使第一绘制数据产生单元操作,并且产生忽视扫描线的自相交中的重叠的绘制数据(步骤1203)。
具体地,在不涉及自相交检测或分割操作的情况下,由通过针对形成扫描线的每个向量数据集扫描扫描形状而获得的图形对象,产生绘制部分能够处理的数据,例如线数据或三角形数据。
参照图20,作为产生不考虑自相交的绘制数据的例子,将描述产生三角形数据组的处理流程。
首先,作为输入读取通过扫描线数据输入单元1101输入的扫描线数据和通过扫描形状数据输入单元1103输入的扫描形状数据(步骤1701)。
针对形成读取的扫描线数据的每个向量数据集计算通过扫描要扫描的图形对象而形成的图形对象的轮廓(步骤1702)。在轮廓数据被认为是多边形的同时,执行将图形对象分割成三角形数据集的处理(步骤1703)。存储一组如此产生的三角形数据集(步骤1704),从而产生针对整个扫描线的三角形数据。
如图21所示,在步骤1702执行的轮廓计算中,要扫描的形状被布置在扫描线向量的起始和终点的每个处。在扫描线向量的右和左端的每个处确定要扫描的形状的点,这些点沿垂直于扫描线向量的方向彼此最远离。如此确定的点被连接到起始和终点,从而计算出轮廓。要扫描的形状的最远点被获得为这样的点:在该点处扫描线向量的法向向量与连接扫描线向量的起点与要扫描的形状的点的向量的内积最大,以及内积最小的点。假定定义返回a0,a1,...aN-1中的最大值的下标″i″的函数max_index(ai),并且定义返回最小值的下标″i″的函数min_index(ai),则构成满足上述条件的顶点的形状的点的下标能够描述如下。
IL=max_index(<P>i·<n>)(1)
IR=min_index(<P>i·<n>)(2)
在上述等式(1)和(2)中,i=0,1,...,N-1(N表示要扫描的形状的顶点的数量);IL表示构成扫描线向量的左边最远的扫描形状的点的下标;IR表示构成扫描线向量的右边最远的扫描形状的点的下标。此外,符号<>表示向量;<n>表示相对扫描线向量的延伸方向向左取向的单位法向向量;<P>i表示当要扫描的形状位于扫描线的起点并且扫描线的起点被取作原点时构成要扫描的形状的点的位置向量;并且<P>i·<n>表示<P>i和<n>的内积。
在步骤1703,对如此计算的轮廓进行多边形数据的三角分割,从而产生一组三角形数据集。作为产生三角形数据的最简单例子,现在描述要扫描的形状限于矩形的情况。如图22所示,当从点P0到P5形成轮廓时,图形对象能够被分成4个三角形:即,T0:P0->P1->P5,T1:P1->P4->P5,T2:P1->P2->P4,和T3:P2->P3->P4。
各种方法可用于在步骤1702,1703产生三角形数据组。本实施例不局限于这里描述的处理方法,也可以使用其它的任意方法。
第一绘制单元1116
第一绘制数据产生单元1115产生的绘制数据被输入到第一绘制单元1116,在第一绘制单元1116中执行绘制操作。现在描述第一绘制单元1116。
第一绘制单元读取第一绘制数据产生单元1115产生的三角形数据组和绘制属性数据管理单元1106管理的绘制属性数据,并且执行绘制操作(步骤1204)。
具体地,在三角形数据上设置由绘制属性数据指定的关于图形对象的填充区域的属性,例如颜色,不透明性,并且执行绘制。
在实际绘制三角形方面,可以使用为绘制三角形专门设计的硬件,或可以使用通用图形处理LSI;或可以使用其它手段以软件方式来执行绘制。
第二绘制操作切换单元1117
第二参考值管理单元1112
接着描述第二绘制操作切换单元1117。当图形对象的填充区域半透明时,第一绘制操作切换单元1114使得第二绘制操作切换单元工作,并且确定图形处理器中的存储器的使用状态。当能够保证深度缓冲区时,执行允许高速处理要绘制的图形对象中的重叠并且使用深度测试的绘制操作。当不能保证深度缓冲区时,执行涉及下一步骤的处理,其中确定在不使用深度测试的情况下用于处理扫描线的自相交中的重叠的图形处理(步骤1205)。
通过比较当执行通过存储器使用状态数据输入单元1107输入的图形对象的绘制时获得的图形处理器中的存储器的使用状态M,与第二参考值管理单元1112管理的表示保证深度缓冲区所需的最低存储器的使用状态的参考值Mref,确定存储器的使用状态。当M满足Mref时,使第二绘制数据产生单元1118(后面会描述)工作。当M不同于Mref时,使以后描述的第三绘制操作切换单元1120工作。
由图形绘制设备的输出和其配置确定第二参考值管理单元1112管理的存储器使用状态参考值。是否能够保证深度缓冲区取决于输出绘制的分辨率和可用存储器的最大量。在是否能够保证模板缓冲区和输出绘制的分辨率之间的关系方面,深度缓冲区的大小通常与输出绘制的分辨率相同。因此,输出绘制的分辨率越大,则保证深度缓冲区就越困难。此外,对于可用存储器的最大量,当深度缓冲区大小大于可用存储器的最大量时,大多数存储器被深度缓冲区使用。另一任务使得存储器不可用的潜在风险变高。当存储器已经进入这种状态时,在多个模块共享存储器的本实施例中,整个绘制设备的处理性能大大降低。
通过图形绘制设备的输出和其配置来确定关于存储器的使用状态的参考值。
为了有效避免这个问题的出现,也存在用于和任务的状态一起动态改变参考值的方法。
第二绘制数据产生单元1118
现在描述第二绘制数据产生单元1118。当第二绘制操作切换单元1117已经确定能够保证深度缓冲区时,使第二绘制数据产生单元工作。产生用于执行绘制操作的绘制数据,该绘制操作允许高速处理要绘制的图形对象中的重叠,并且使用深度测试(步骤1206)。以直至产生三角形数据组的步骤均与第一绘制数据产生单元1115产生向量数据组的方式相同的方式产生在利用深度测试的绘制操作中使用的向量数据组。相同深度值被加到如此产生的三角形数据组上。对要增加的深度值没有特定限制,只要深度值在能够用于深度测试的范围内。
这产生了这样的优点,即不必针对每个绘制操作清除深度缓冲区中的数据,只要在每个图形绘制操作中使用通过递增深度值来确定的值。
第二绘制单元1119
第二绘制数据产生单元1118产生的绘制数据被输入到第二绘制单元1119,在第二绘制单元1119中执行绘制操作。现在描述第二绘制单元1119。
第二绘制单元读取第二绘制数据产生单元1118产生的具有深度值的三角形数据组和绘制属性数据管理单元1106管理的绘制属性数据,并且执行利用深度测试的绘制操作(步骤1207)。
现在描述深度测试方法。当图形对象的深度值在每个图形绘制操作中递增时,深度测试在Ds>Dd时通过,假定被测像素的深度值是Ds,并且深度缓冲区中对应于被测像素的位置的值是Dd。通过Ds更新深度缓冲区的值。作为如上所述执行的深度测试的结果,结合扫描线的自相交的重新填充获得单个深度值,因此深度测试没有通过。如此,能够正确处理图形对象。
第三绘制操作切换单元1120
第三参考值管理单元1113
现在描述第三绘制操作切换单元1120。当第二绘制操作切换单元1117已经确定不能保证深度测试的深度缓冲区时,使第三绘制操作切换单元工作。第三绘制操作切换单元确定绘制操作状态数据。当施加于绘制单元的处理负载不高(绘制单元不繁忙)时,执行利用数据区(阿尔法值)的绘制操作,该数据区允许高速处理扫描线的自相交中的重叠,并且不透明性的值被写入该数据区。当绘制单元繁忙时,在要绘制的图形对象的轮廓被取作多边形的同时执行绘制操作(步骤1208)。
通过比较当执行图形绘制操作时获得的、由绘制操作状态数据管理单元1110管理的绘制操作状态数据R,和关于表示绘制单元是否繁忙的参考操作状态数据的参考值Rref,确定绘制操作状态数据。当R不满足Rref时,执行后面会描述的第三绘制数据产生单元1121。当R满足Rref时,执行后面会描述的第四绘制数据产生单元1123。
对表示绘制单元繁忙的绘制状态数据的参考值没有限制,因为通过用于实施图形绘制设备的方法来改变绘制操作状态数据的格式。
例如,当根据任务队列中等待的任务的数量而获得绘制操作状态数据时,参考值被设置成任务的最大数量,从而确定绘制部分繁忙。
第三绘制数据产生单元1121
接着描述第三绘制数据产生单元1121。当第三绘制操作切换单元1120已经确定绘制单元繁忙时,使第三绘制数据产生单元工作,并且产生用于执行绘制操作的绘制数据,该绘制操作允许高速处理与扫描线的自相交的重叠,并且使用阿尔法值(步骤1209)。
为了利用阿尔法值执行绘制操作,产生忽视扫描线的自相交中的重叠的绘制数据以作为绘制数据,像在通过第一绘制数据产生单元1115产生绘制数据的情况中那样。产生例如图23示出的、平行于环绕一组产生的绘制数据集的坐标轴的最小矩形,以作为绘制数据。当不能直接绘制矩形时,可以通过对角线分割矩形,以将其产生为2个三角形数据集。
第三绘制单元1122
第三绘制数据产生单元1121产生的绘制数据被输入到第三绘制单元1123,在第三绘制单元1123中执行绘制操作。现在描述第三绘制单元1122。
第三绘制单元读取第三绘制数据产生单元1121产生的绘制数据和绘制属性数据管理单元1106管理的绘制属性数据,并且利用阿尔法值执行绘制操作(步骤1210)。
第三绘制单元使用的处理流程在图24中示出,并且加以描述。首先,第三绘制单元读取第三绘制数据产生单元1121产生的绘制数据和绘制属性数据管理单元1106管理的绘制属性数据(步骤2101)。接着,使用绘制数据Trect执行绘制操作,该绘制数据已经由第三绘制数据产生单元产生,并且其涉及平行于环绕图形对象的坐标轴的最小矩形,同时以阿尔法值作为表示图25所示的不透明性的最大值αmax,从而用αmax只改写和更新背景中的阿尔法值αdst(颜色值没有改变)。因而,清除包含图形对象的区域中的阿尔法值(步骤2102)。
如图26所示,在阿尔法值被取作(αmax-α)的同时绘制忽视扫描线的自相交中的重叠的绘制数据,从而只更新和改写阿尔法值(步骤2103),其中α表示从绘制属性数据获得的图形对象的阿尔法值(不透明性)。
最终,通过使用任意阿尔法值作为Trect来执行绘制,并且通过下面等式计算颜色值(步骤2104)。
Cnew=(αmax-αdst)×C+αdst×Cdst(3)
参考符号Cnew表示计算的颜色值;C表示从绘制属性数据获得的图形对象的颜色值;Cdst表示光栅数据中存储的颜色值。
当使用等式3执行绘制操作时,如下所述背景的颜色被用于图形对象的填充区域外部的颜色值:
αdst=αmax
∴Cnew=(αmax-αdst)×C+αmax×Cdst=αmax×Cdst=Cdst
实现αmax×Cdst=Cdst的原因在于αmax是表示不透明性的值。
在图形对象的填充区域中,获得下面等式,并且正确执行图形对象到背景的合成。
αdst=αmax-α
∴Cnew=(αmax-(αdst-α))×C+(αmax-α)×Cdst=α×C+(αmax-α)×Cdst
这个处理对应于使用一般阿尔法值的合成操作,并且能够正确绘制填充区域。在上述相关技术文献3中详细描述了使用阿尔法值的合并操作。
第四绘制数据产生单元1123
现在描述第四绘制数据产生单元1123。当第三绘制操作切换单元1120已经确定绘制单元繁忙时,第三绘制数据产生单元将要绘制的图形对象的轮廓作为多边形进行处理。通过类似于第一实施例的第一修改的绘制操作执行要绘制的图形对象中的重叠的检测和分割。结果,产生允许适当处理要绘制的图形对象中的重叠的绘制数据(数据集间不具有重叠)(步骤1211)。
关于计算图形对象的轮廓的示例性方法的处理流程在图27中示出,并且将被描述。
首先,作为输入读取扫描线数据管理单元1102管理的扫描线数据和扫描形状数据管理单元1104管理的扫描形状数据(步骤2201)。
接着,从起点到终点顺序地从读取的扫描线数据中提取关于构成扫描线的点的信息。对于通过根据2个连续点定义的向量数据(Pn-Pn-1)扫描要扫描的图形对象能够形成的图形对象,计算位于相对向量数据方向的左边的轮廓(步骤2202),并且存储如此计算的轮廓(步骤2203)。结合第一绘制数据产生单元1115描述的方法被用作计算位于相对向量数据方向的左边的轮廓。与第一绘制数据产生单元1115的情况相比,扫描线是连续线段,因此存在轮廓在角部的内部彼此相交的情况。因此,在计算轮廓之后,确定如此计算的轮廓和通过前面的向量数据集确定的轮廓之间是否存在交点。当存在交点时,用计算的交点替换通过由前面的向量数据集计算轮廓而计算出的外围点,从而处理轮廓中存在交点的情况。
在执行计算达到终点之后,从终点到起点相反地再次从扫描线数据中提取点信息,并且以和上述方法的方式相同的方式计算左侧轮廓(步骤2204,2205)。通过处理,能够作为一组顺时针向量数据集而获得图形对象的轮廓,如图28所示。
关于轮廓的向量数据组被认为是多边形。通过与结合本发明第一实施例的第一修改描述的处理相类似的处理产生多边形的填充区域以作为向量数据组,该向量数据组能够通过绘制单元进行光栅化。
环绕数非零规则被用作填充规则。根据环绕数非零规则确定的填充区域的确定表明扫描线的自相交没有位于填充区域内。因此,如图29所示,轮廓中一定存在纽结(kinked)的交点。然而,在上述关于轮廓的向量数据组的情况下,轮廓中的纽结不产生交点。因此,使用环绕数非零规则确定填充区域,使得能够正确绘制扫描线的自相交中的重叠。
第四绘制单元1124
第四绘制数据产生单元1123产生的绘制数据被输入到第四绘制单元1124,在第四绘制单元1124中执行绘制操作。现在描述第四绘制单元1124。
如第一实施例的第一修改的情况中那样,第四绘制单元读取第四绘制数据产生单元1123产生的三角形数据或线段数据和绘制属性数据管理单元1106管理的绘制属性数据,并且执行绘制操作(步骤1212)。
具体地,在三角形数据上设置由绘制属性数据指定的图形对象的填充区域的属性,例如颜色,不透明性等等,从而执行绘制。
为绘制三角形专门设计的硬件或通用图形处理LSI也可以被用于实际绘制三角形。可选地,也可以使用其它手段以软件方式执行三角形绘制。
绘制结果输出部分1125
接着描述绘制结果输出部分1125。绘制结果输出部分输出由第一绘制单元1116,第二绘制单元1119,第三绘制单元1122和第四绘制单元1124中的任何一个获得的绘制结果(步骤1213)。
绘制单元获得的绘制结果对应于逻辑像素数据。因此,通过根据输出要传送到的目的地的形式转换绘制结果,绘制结果输出部分产生输出。
绘制结果可以被输出到例如CRT,LCD等等的显示设备;例如打印机的打印设备;例如主存储设备,辅助存储设备,CD,DVD等等的记录介质;或其它设备或装置。上述方法仅仅是具体实施方式,本发明不局限于这个方法。
第二实施例的优点
在第二实施例中,对通过沿任意连续线段扫描任意多边形而形成的图形对象(要扫描的图例)进行快速绘制操作,该绘制操作是响应图形绘制设备的操作状态而进行的。结果,即使设备繁忙,仍使得扫描图像绘制的性能下降最小。当设备处于空闲状态时,也可以执行高速扫描图像绘制。对于通过资源有限的硬件(像在便携PC,便携蜂窝电话,具有交互式扫描图像绘制功能的AV设备等等中那样)实现本发明的情况,这个方式尤其有效。
第二实施例的第一修改
图30是根据本发明第二实施例的第一修改的图形绘制设备的总体模块图。
结合第二实施例,第一修改的图形绘制设备被配置成具有取代第二参考值管理单元的第二参考值校正单元,和代替第三参考值管理单元的第三参考值校正单元。
第二参考值校正单元
现在描述第二参考值校正单元。第二参考值校正单元使得通过使用与存储器使用状态数据的确定相关的值(例如输出绘制的分辨率)校正要与存储器使用状态数据进行比较的参考值。
具体地,如结合第二参考值管理单元1112描述的,所需深度缓冲区的大小根据输出绘制的分辨率而大大改变。因此,根据输出绘制的分辨率和深度缓冲区的精度校正所需的最低存储器使用状态数据。
从而,即使设备的存储器使用在多个模式中改变,或当输出绘制的分辨率被动态改变时,仍能够根据绘制状态动态改变参考值。
第三参考值校正单元
现在描述第三参考值校正单元。第三参考值校正单元使得通过使用与绘制操作的状态的确定相关的值(例如使用绘制单元的任务的数量)校正要与绘制操作状态数据进行比较的参考值。
具体地,如结合第三参考值管理单元1113所描述的,关于绘制操作的状态的参考值根据执行绘制的绘制任务的数量而改变。因此,当绘制任务的数量逐步递增/递减时,根据逐步改变来改变绘制操作状态数据的参考值。
能够根据设备的处理状态动态改变参考值。第二参考值校正单元和第三参考值校正单元根据设备的操作状态动态校正参考值。通过校正操作,能够以更加具体的方式控制绘制操作的切换,从而提高处理效率。
已经描述了参考值的示例性动态校正。然而本发明不局限于这个例子。能够使用所有允许动态校正参考值的方法。结合本发明第二实施例的第一修改的后续处理,根据需要,用关于参考值管理单元读取参考值校正单元校正的参考值的说明来替换第二实施例中关于确定存储器使用状态的参考值管理单元读取参考值的说明。此外,根据需要,用关于参考值管理单元读取参考值校正单元校正的参考值的说明来替换关于参考值管理单元读取参考值以确定绘制操作的状态的说明。除上述操作之外的操作与第二实施例中的操作相同。
第二实施例的第一修改的优点
当与第二实施例比较时,第一修改通过根据设备的操作状态切换绘制操作而使得能够在设备处于空闲状态时进行高速绘制,以便即使在设备繁忙时也能够使绘制操作的性能降低最小。这对于例如紧凑PC,便携电话,具有交互式图形绘制特性的AV设备等等那样硬件资源有限的情况,以及执行多个不同类型的处理操作的任务在单个硬件上运行的情况尤其有效。
第二实施例的第二修改
图31是根据本发明第二实施例的第二修改的图形绘制设备的总体模块图。
除了从第二实施例的图形绘制设备中省略第一参考值管理单元1111,第一绘制操作切换单元1114,第一绘制数据产生单元1115,和第一绘制单元1116之外,第二修改的图形绘制设备与第二实施例的图形绘制设备相同。
因此,第二实施例的第二参考值管理单元对应于第二修改的第一参考值管理单元;第二实施例的第二绘制操作切换单元对应于第二修改的第一绘制操作切换单元;第二实施例的第二绘制数据产生单元对应于第二修改的第一绘制操作切换单元;第二实施例的第二绘制单元对应于第二修改的第一绘制单元;第二实施例的第三参考值管理单元对应于本修改的第二参考值管理单元;第二实施例的第三绘制操作切换单元对应于本修改的第二绘制操作切换单元;第二实施例的第三绘制数据产生单元对应于第二修改的第二绘制数据产生单元;第二实施例的第三绘制单元对应于第二修改的第二绘制单元。
现在结合第二实施例描述第二修改。在数据输入处理之后,使第二绘制操作切换单元1117工作,并且处理继续。
具体地,在图15示出的第二实施例的处理流程中,当在步骤1201输入数据之后,通过跳过步骤1202,使处理从步骤1201前进到步骤1205。第二修改的图形绘制设备以和第二实施例的对应装置进行操作的方式相同的方式操作,除了上述操作之外。
第二修改的优点
在该修改中,对于要使得非透明的图形对象的颜色限于半透明性的图形绘制设备,执行响应设备操作状态的最快速绘制操作。结果,即使设备繁忙,仍使得扫描图像绘制的性能下降最小,并且当设备处于空闲状态时,能够执行高速绘制操作。对于通过资源有限的硬件(像在便携PC,便携蜂窝电话,具有交互式扫描图像绘制功能的AV设备等等中那样)实现本发明的情况,这个方式尤其有效。
第二实施例的第三修改
图32是根据本发明第二实施例的第三修改的图形绘制设备的总体模块图。
除了从第二实施例的图形绘制设备中省略第二参考值管理单元1112,存储器使用状态数据输入单元1107,存储器使用状态数据管理单元1108,第二绘制操作切换单元1117,第二绘制数据产生单元1118和第二绘制单元1119之外,第三修改的图形绘制设备与第二实施例的图形绘制设备相同。
因此,第二实施例的第三参考值管理单元对应于第三修改的第二参考值管理单元;第二实施例的第三绘制操作切换单元对应于第三修改的第二绘制操作切换单元;第二实施例的第三绘制数据产生单元对应于第三修改的第二绘制数据产生单元;第二实施例的第三绘制单元对应于第三修改的第二绘制单元;第二实施例的第四绘制数据产生单元对应于第三修改的第三绘制数据产生单元;第二实施例的第四绘制单元对应于第三修改的第四绘制单元。
现在结合第二实施例描述第三修改。在第一绘制操作切换单元1114确定作为绘制属性输入的不透明性表现出半透明性时,处理前进到第三绘制操作切换单元1120。具体地,在图15示出的第二实施例的处理流程中,当在步骤1202确定不透明性表明图形对象的填充区域为半透明时,通过跳过步骤1205,使处理从步骤1202前进到步骤1208。第三修改的图形绘制设备以和第二实施例的对应装置进行操作的方式相同的方式操作,除了上述操作之外。
第三修改的优点
在修改中,不能使用深度测试的图形绘制设备能够根据图形绘制设备的工作状态执行最快速的绘制操作。即使设备繁忙时,图形绘制性能的降低最小,并且当设备处于空闲状态时能够执行高速绘制。
对于硬件资源比第二实施例中更加有限并且在不具有深度测试功能的硬件上执行本发明的情况,这个方式尤其有效。
第二实施例的第四修改
图33是根据本发明第二实施例的第四修改的图形绘制设备的总体模块图。
除了从第二实施例的图形绘制设备中省略第三参考值管理单元1113,绘制操作状态数据输入单元1109,绘制操作状态数据管理单元1110,第三绘制操作切换单元1120,第三绘制数据产生单元1121和第三绘制单元1122之外,第四修改的图形绘制设备与第二实施例的图形绘制设备相同。
因此,第二实施例的第四绘制数据产生单元对应于本修改的第三绘制数据产生单元;第二实施例的第四绘制单元对应于本修改的第三绘制单元。
现在结合第二实施例描述本修改。当第二绘制操作切换单元1117确定不能保证深度缓冲区时,处理前进到第四绘制数据产生单元1123。具体地,在图15示出的第二实施例的处理流程中,当在步骤1205确定深度缓冲区不可用时,通过跳过步骤1208,使处理从步骤1205前进到步骤1211。第四修改的图形绘制设备以和第二实施例的对应装置进行操作的方式相同的方式操作,除了上述操作之外。
第四修改的优点
在修改中,不能使用阿尔法值执行绘制操作的图形绘制设备能够根据图形绘制设备的工作状态执行最快速的绘制操作。即使设备繁忙时,图形绘制性能的降低最小,并且当设备处于空闲状态时能够执行高速绘制。对于硬件资源比第二实施例中更加有限并且在不具有利用阿尔法值的绘制功能的硬件上执行本发明的情况,这个方式尤其有效。
第二实施例的第五修改
图34是根据本发明第二实施例的第五修改的图形绘制设备的总体模块图。
除了从第二实施例的图形绘制设备中省略第三参考值管理单元1113,绘制操作状态数据输入单元1109,绘制操作状态数据管理单元1110,第三绘制操作切换单元1120,第四绘制数据产生单元1123和第四绘制单元1124之外,第五修改的图形绘制设备与第二实施例的图形绘制设备相同。
现在结合第二实施例描述本修改。当第二绘制操作切换单元1117确定不能保证深度缓冲区时,处理前进到第三绘制数据产生单元1121。具体地,在图15示出的第二实施例的处理流程中,当在步骤1205确定深度缓冲区不可用时,通过跳过步骤1208,使处理从步骤1205前进到步骤1209。第五修改的图形绘制设备以和第二实施例的对应装置进行操作的方式相同的方式操作,除了上述操作之外。
第五修改的优点
在修改中,能够根据图形绘制设备的工作状态执行最快速的绘制操作。结果,即使设备繁忙,仍使得绘制操作的性能下降最小。当设备处于空闲状态时,可以执行高速绘制操作。与第二实施例比较,绘制操作足够快速。当始终能够实现利用阿尔法值的绘制操作时,能够减少确定绘制操作状态所导致的开销,并且能够执行更加高效的图形绘制操作。
第二实施例的第六修改
图35是根据本发明第二实施例的第六修改的图形绘制设备的总体模块图。
除了从第二实施例的图形绘制设备中省略第二参考值管理单元1112,存储器使用状态数据输入单元1107,存储器使用状态数据管理单元1108,第二绘制操作切换单元1117,第二绘制数据产生单元1118,第二绘制单元1119,第三参考值管理单元1113,绘制操作状态数据输入单元1109,绘制操作状态数据管理单元1110,第三绘制操作切换单元1120,第三绘制数据产生单元1121和第三绘制单元1122之外,第六修改的图形绘制设备与第二实施例的图形绘制设备相同。
因此,第二实施例的第一参考值管理单元对应于本修改的参考值部分;第二实施例的第一绘制操作切换单元对应于本修改的绘制操作切换单元;第二实施例的第四绘制数据产生单元对应于本修改的第二绘制数据产生单元;第二实施例的第四绘制单元对应于本修改的第二绘制单元。
现在结合第二实施例描述第六修改。在第一绘制操作切换单元1114确定作为绘制属性输入的不透明性表现出半透明性时,处理前进到第四绘制数据产生单元1123。具体地,在图15示出的第二实施例的处理流程中,当在步骤1202确定绘制属性表现出半透明性时,通过跳过步骤1205和1208,使处理从步骤1202前进到步骤1211。第六修改的图形绘制设备以和第二实施例的对应装置进行操作的方式相同的方式操作,除了上述操作之外。
第六修改的优点
在修改中,不能执行利用深度测试和阿尔法值的绘制操作的图形绘制设备能够根据图形绘制设备的工作状态执行最快速的绘制操作。即使设备繁忙时,图形绘制性能的降低最小,并且当设备处于空闲状态时能够执行高速绘制。对于硬件资源比第二实施例中更加有限并且在不具有利用深度测试和阿尔法值的绘制功能的硬件上执行本发明的情况,这个方式尤其有效。
第二实施例的第七修改
图36是根据本发明第二实施例的第七修改的图形绘制设备的总体模块图。
除了从第二实施例的图形绘制设备中省略第二参考值管理单元1112,存储器使用状态数据输入单元1107,存储器使用状态数据管理单元1108,第二绘制操作切换单元1117,第二绘制数据产生单元1118,第二绘制单元1119,第三参考值管理单元1113,绘制操作状态数据输入单元1109,绘制操作状态数据管理单元1110,第三绘制操作切换单元1120,第四绘制数据产生单元1123和第四绘制单元1124之外,第七修改的图形绘制设备与第二实施例的图形绘制设备相同。
因此,第二实施例的第一参考值管理单元对应于本修改的参考值部分;第二实施例的第一绘制操作切换单元对应于本修改的绘制操作切换单元;第二实施例的第三绘制数据产生单元对应于本修改的第二绘制数据产生单元;第二实施例的第三绘制单元对应于本修改的第二绘制单元。
现在结合第二实施例描述第七修改。在第二绘制操作切换单元1114确定作为绘制属性输入的不透明性表现出半透明性时,处理前进到第三绘制数据产生单元1121。具体地,在图15示出的第二实施例的处理流程中,当在步骤1202确定绘制属性表现出半透明性时,通过跳过步骤1205和1208,使处理从步骤1202前进到步骤1209。第七修改的图形绘制设备以和第二实施例的对应装置进行操作的方式相同的方式操作,除了上述操作之外。
第七修改的优点
在修改中,不能使用深度测试的图形绘制设备能够根据图形绘制设备的工作状态执行最快速的绘制操作。即使设备繁忙,仍使得绘制要扫描的图形对象的性能下降最小,并且当设备处于空闲状态时,能够高速绘制要扫描的图形对象。对于硬件资源比第二实施例中更加有限并且在不能利用深度测试的硬件上执行本发明的情况,这个方式允许进行更加高效的图形绘制操作。
第二实施例的第八修改
图37是根据本发明第二实施例的第八修改的图形绘制设备的总体模块图。
除了从第二实施例的图形绘制设备中省略第二参考值管理单元1112,存储器使用状态数据输入单元1107,存储器使用状态数据管理单元1108,第二绘制操作切换单元1117,第三参考值管理单元1113,绘制操作状态数据输入单元1109,绘制操作状态数据管理单元1110,第三绘制操作切换单元1120,第三绘制数据产生单元1121,第三绘制单元1122,第四绘制数据产生单元1123和第四绘制单元1124之外,第八修改的图形绘制设备与第二实施例的图形绘制设备相同。
因此,第二实施例的第一参考值管理单元对应于本修改的参考值部分;第二实施例的第一绘制操作切换单元对应于本修改的绘制操作切换单元。
现在结合第二实施例描述第八修改。在第一绘制操作切换单元1114确定作为绘制属性输入的不透明性表现出半透明性时,处理前进到第二绘制数据产生单元1118。具体地,在图15示出的第二实施例的处理流程中,当在步骤1202确定绘制属性表现出半透明性时,通过跳过步骤1205,使处理从步骤1202前进到步骤1206。第八修改的图形绘制设备以和第二实施例的对应装置进行操作的方式相同的方式操作,除了上述操作之外。
第八修改的优点
在修改中,必然能够使用深度测试的图形绘制设备根据输入的状态执行最快速的绘制操作。即使设备繁忙时,图形绘制性能的降低最小,并且当设备处于空闲状态时能够执行高速图形绘制。对于硬件资源丰富并且在必然使得能够利用深度测试的硬件上执行本发明的情况,这个方式允许进行更加高效的图形绘制操作。
第二实施例的第九修改
图38是根据本发明第二实施例的第九修改的图形绘制设备的总体模块图。
除了从第二实施例的图形绘制设备中省略第一参考值管理单元1111,第一绘制操作切换单元1114,第一绘制数据产生单元1115,第一绘制单元1116,第二参考值管理单元1112,存储器使用状态数据输入单元1107,存储器使用状态数据管理单元1108,第二绘制操作切换单元1117,第二绘制数据产生单元1118和第二绘制单元1119之外,第九修改的图形绘制设备与第二实施例的图形绘制设备相同。
因此,第二实施例的第三参考值管理单元对应于本修改的参考值部分;第二实施例的第三绘制操作切换单元对应于本修改的绘制操作切换单元;第二实施例的第三绘制数据产生单元对应于本修改的第一绘制数据产生单元;第二实施例的第三绘制单元对应于本修改的第一绘制单元;第二实施例的第四绘制数据产生单元对应于本修改的第二绘制数据产生单元;第二实施例的第四绘制单元对应于本修改的第二绘制单元。
现在结合第二实施例描述第九修改。在已经执行数据输入处理之后,使第三绘制操作切换单元1120工作,并且处理继续。具体地,在图15示出的第二实施例的处理流程中,当在步骤1201输入数据之后,通过跳过步骤1202和1205,使处理从步骤1201前进到步骤1208。第九修改的图形绘制设备以和第二实施例的对应装置进行操作的方式相同的方式操作,除了上述操作之外。
第九修改的优点
在该修改中,对于要填充的图形对象的颜色限于半透明性的图形绘制设备,执行响应设备操作状态的最快速绘制操作。结果,即使设备繁忙,仍使得扫描图像绘制的性能下降最小,并且当设备处于空闲状态时,能够执行高速绘制操作。对于通过资源有限的硬件(像在便携PC,便携蜂窝电话,具有交互式图形绘制功能的AV设备等等中那样)实现本发明的情况,这个方式尤其有效。
根据需要,实施例和其修改能够组合实现。
关于本发明的实施例的处理被实现成能够由计算机执行的程序,并且程序也可以为实施为计算机可读存储介质。
本发明的存储介质使用任何存储格式,例如磁盘,软(floppy:注册商标),硬盘驱动器,光盘(CD-ROM,CD-R,DVD等等),磁光盘(MO等等),半导体存储器等等,只要存储介质能够存储程序并且能够被计算机或内置系统读取。
根据来自从存储介质安装到计算机或内置系统中的程序的命令在计算机上操作的OS(操作系统);或例如数据库管理软件,网络等等的MW(中间件)可以执行本实施例的处理操作的各个部分。
本发明的存储介质不局限于独立于计算机或内置系统的介质,而是包含将通过LAN,因特网等等将传送和下载的程序存储或临时存储的存储介质。存储介质的数量不局限于一个。即使涉及本实施例的处理通过多个介质执行,该存储介质仍然在本发明的存储介质的范围内,并且该介质可以使用任何配置。本发明的计算机或内置系统用于根据存储介质中存储的程序执行本实施例的各种处理操作;并且可以具有任何配置,例如由个人计算机,微型计算机等等中的任何一个形成的设备,或通过网络将多个设备连接成的系统,等等。
本发明的计算机不局限于个人计算机,是包含能够建成信息设备的计算设备,微型计算机等等。允许通过程序实现本发明的设备和装置通常被称作计算机。
如参考实施例的例子和修改详细描述的,根据资源的使用状态和特性选择图形绘制方法,以调整图形绘制性能。对于当执行绘制操作时与资源变化相关的图形绘制设备,能够控制图形处理性能,从而具有明显的实际用途。
Claims (18)
1.一种图形绘制设备,包括:
向量数据组管理单元,其管理表示图形对象的形状的向量数据组;
绘制属性数据组管理单元,其管理表示关于图形对象的内部属性信息的绘制属性数据;
资源信息管理单元,其管理指示使用状态的资源信息;
特征计算单元,其读取向量数据组管理单元管理的向量数据组,并且计算指示输入图形对象的几何特征的特征;
绘制操作切换单元,其读取特征计算单元计算的特征和资源信息管理单元管理的资源信息,并且进行切换以产生最优绘制数据;
多个绘制数据产生单元,其由绘制操作切换单元控制,并且读取向量数据组管理单元管理的向量数据组和绘制属性数据管理单元管理的绘制属性数据,以产生不同的绘制数据集;和
多个绘制单元,其读取绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,并且执行不同绘制操作。
2.如权利要求1所述的图形绘制设备,还包括:
资源信息阈值管理单元,其管理要与资源信息进行比较的阈值;和
特征阈值管理单元,其管理要与特征进行比较的阈值,其中绘制操作切换单元比较特征计算单元计算的特征和特征阈值管理单元管理的特征阈值,并且比较资源信息阈值管理单元管理的资源信息阈值和资源信息管理单元管理的资源信息,从而切换绘制数据产生单元。
3.一种图形绘制设备,包括:
向量数据组输入单元,用于输入表示多边形的轮廓的向量数据组;
向量数据组管理单元,用于管理表示多边形的轮廓的向量数据组,该向量数据组通过向量数据组输入单元输入;
绘制属性数据输入单元,用于输入表示多边形的填充区域的属性的绘制属性数据;
绘制属性数据管理单元,其管理通过绘制属性数据输入单元输入的绘制属性数据;
存储器使用状态数据输入单元,其获得存储器的使用状态;
存储器使用状态数据管理单元,其管理通过存储器使用状态数据输入单元获得的存储器使用状态数据;
第一阈值管理单元,其管理要与该存储器使用状态数据进行比较的存储器使用状态阈值;
第二阈值管理单元,其管理关于与图形对象轮廓的自相交的自相交阈值,该自相交阈值将与所述自相交进行比较;
第一绘制操作切换单元,其比较第一阈值管理单元管理的存储器使用状态阈值和存储器使用状态数据管理单元管理的存储器使用状态数据,从而切换绘制操作;
由第一绘制操作切换单元控制的第一绘制数据产生单元,其读取向量数据组管理单元管理的向量数据组,并且产生用于利用填充允许/禁止确定功能来进行绘制操作的绘制数据,所述填充允许/禁止确定功能用于只在特定区域中进行填充;
第一绘制单元,其读取第一绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以设置填充允许/禁止确定功能,以及利用填充允许/禁止确定功能执行绘制操作;
由第一绘制操作切换单元控制的自相交计算单元,其读取向量数据组管理单元管理的向量数据组,从而计算与图形对象轮廓的自相交;
自相交管理单元,其管理关于自相交计算单元计算的图形对象轮廓内的自相交的信息;
第二绘制操作切换单元,其比较自相交管理单元管理的图形对象轮廓内的自相交和第二阈值管理单元管理的自相交阈值,以切换绘制操作;
由第二绘制操作切换单元控制的第二绘制数据产生单元,其读取向量数据组管理单元管理的向量数据组和绘制属性数据管理单元管理的绘制属性数据,确定多边形的填充区域,并且通过将填充区域分割成三角形的聚集的处理来产生三角形数据组;
第二绘制单元,其读取第二绘制数据产生单元产生的三角形数据组和绘制属性数据管理单元管理的绘制属性数据,以执行绘制操作;
由第二绘制操作切换单元控制的第三绘制数据产生单元,其读取向量数据组管理单元管理的向量数据组和绘制属性数据管理单元管理的绘制属性数据,并且确定多边形的填充区域,以通过将填充区域分割成线段的聚集的处理来产生线段数据组;和
第三绘制单元,其读取第三绘制数据产生单元产生的线段数据组和绘制属性数据管理单元管理的绘制属性数据,以执行绘制操作。
4.如权利要求3所述的图形绘制设备,其中第一阈值管理单元进一步对要与存储器使用状态数据进行比较的存储器使用状态阈值执行校正,并且
其中第二阈值管理单元进一步对关于与图形对象轮廓的自相交并且要与自相交进行比较的自相交阈值执行校正。
5.一种图形绘制设备,包括:
向量数据组输入单元,用于输入表示多边形的轮廓的向量数据组;
向量数据组管理单元,其管理表示多边形的轮廓并且已经通过向量数据组输入单元输入的向量数据组;
绘制属性数据输入单元,用于输入表示多边形的填充区域的属性的绘制属性数据;
绘制属性数据管理单元,其管理通过绘制属性数据输入单元输入的绘制属性数据;
阈值管理单元,其管理关于与图形对象轮廓的自相交并且将与所述自相交进行比较的自相交阈值;
自相交计算单元,其读取向量数据组管理单元管理的向量数据组,并且计算与图形对象轮廓的自相交;
自相交管理单元,其管理关于自相交计算单元计算的与图形对象轮廓的自相交的信息;
绘制操作切换单元,其比较自相交管理单元管理的与图形对象轮廓的自相交和阈值管理单元管理的自相交阈值,以切换绘制操作;
由绘制操作切换单元控制的第一绘制数据产生单元,其读取向量数据组管理单元管理的向量数据组和绘制属性数据管理单元管理的绘制属性数据,并且确定多边形的填充区域,通过将多边形分割成三角形的聚集的处理产生一组三角形数据集;
第一绘制单元,其读取第一绘制数据产生单元产生的一组三角形数据集和绘制属性数据管理单元管理的绘制属性数据,以执行绘制操作;
由绘制操作切换单元控制的第二绘制数据产生单元,其读取向量数据组管理单元管理的向量数据组和绘制属性数据管理单元管理的绘制属性数据,并且确定多边形的填充区域,以通过将多边形分割成线段的聚集的处理来产生一组线段数据集;和
第二绘制单元,其读取第二绘制数据产生单元产生的一组线段数据集和绘制属性数据管理单元管理的绘制属性数据,以执行绘制操作。
6.一种图形绘制设备,包括:
向量数据组输入单元,用于输入表示多边形的轮廓的向量数据组;
向量数据组管理单元,其管理表示多边形的轮廓并且通过向量数据组输入单元输入的向量数据组;
绘制属性数据输入单元,用于输入表示多边形的填充区域的属性的绘制属性数据;
绘制属性数据管理单元,其管理通过绘制属性数据输入单元输入的绘制属性数据;
存储器使用状态数据输入单元,其获得存储器的使用状态;
存储器使用状态数据管理单元,其管理通过存储器使用状态数据输入单元获得的存储器使用状态数据;
阈值管理单元,其管理要与该存储器使用状态数据进行比较的存储器使用状态阈值;
绘制操作切换单元,其比较阈值管理单元管理的存储器使用状态阈值和存储器使用状态数据管理单元管理的存储器使用状态数据,从而切换绘制操作;
由绘制操作切换单元控制的第一绘制数据产生单元,其读取向量数据组管理单元管理的向量数据组,并且产生用于利用填充允许/禁止确定功能来进行绘制操作的绘制数据,所述填充允许/禁止确定功能用于只在特定区域中进行填充;
第一绘制单元,其读取第一绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以设置填充允许/禁止确定功能,以及利用填充允许/禁止确定功能执行绘制操作;
由绘制操作切换单元控制的第二绘制数据产生单元,其读取向量数据组管理单元管理的向量数据组和绘制属性数据管理单元管理的绘制属性数据,确定多边形的填充区域,并且通过将填充区域分割成线段的聚集的处理来产生线段数据组;和
第二绘制单元,其读取第二绘制数据产生单元产生的线段数据组和绘制属性数据管理单元管理的绘制属性数据,以执行绘制操作。
7.一种图形绘制设备,包括:
向量数据组输入单元,用于输入表示多边形的轮廓的向量数据组;
向量数据组管理单元,其管理表示多边形的轮廓并且已经通过向量数据组输入单元输入的向量数据组;
绘制属性数据输入单元,用于输入表示多边形的填充区域的属性的绘制属性数据;
绘制属性数据管理单元,其管理通过绘制属性数据输入单元输入的绘制属性数据;
存储器使用状态数据输入单元,其获得存储器的使用状态;
存储器使用状态数据管理单元,其管理通过存储器使用状态数据输入单元获得的存储器使用状态数据;
阈值管理单元,其管理要与该存储器使用状态数据进行比较的存储器使用状态阈值;
绘制操作切换单元,其比较阈值管理单元管理的存储器使用状态阈值和存储器使用状态数据管理单元管理的存储器使用状态数据,从而切换绘制操作;
由绘制操作切换单元控制的第一绘制数据产生单元,其读取向量数据组管理单元管理的向量数据组,并且产生用于利用填充允许/禁止确定功能来进行绘制操作的绘制数据,所述填充允许/禁止确定功能用于只在特定区域中进行填充;
第一绘制单元,其读取第一绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以设置填充允许/禁止确定功能,以及利用填充允许/禁止确定功能执行绘制操作;
由绘制操作切换单元控制的第二绘制数据产生单元,其读取向量数据组管理单元管理的向量数据组和绘制属性数据管理单元管理的绘制属性数据,确定多边形的填充区域,并且通过将填充区域分割成三角形的聚集的处理来产生三角形数据组;和
第二绘制单元,其读取第二绘制数据产生单元产生的三角形数据组和绘制属性数据管理单元管理的绘制属性数据,以执行绘制操作。
8.一种图形绘制设备,包括:
扫描线数据输入单元,用于输入指示扫描线的向量数据组;
扫描线数据管理单元,其管理通过扫描线数据输入单元输入的扫描线数据;
扫描形状数据输入单元,用于输入指示要扫描的形状的向量数据组;
扫描形状数据管理单元,其管理通过扫描形状数据输入单元输入的扫描形状数据;
绘制属性数据输入单元,用于输入指示图形对象的填充区域的属性的绘制属性数据;
绘制属性数据管理单元,其管理通过绘制属性数据输入单元输入的绘制属性数据;
存储器使用状态数据输入单元,其获得存储器的使用状态;
存储器使用状态数据管理单元,其管理通过存储器使用状态数据输入单元获得的存储器使用状态数据;
绘制操作状态数据输入单元,其获得绘制操作状态数据;
绘制操作状态数据管理单元,其管理绘制操作状态数据输入单元获得的绘制操作状态数据;
第一阈值管理单元,其管理要与绘制属性数据的不透明性进行比较的不透明性阈值;
第二阈值管理单元,其管理要与该存储器使用状态数据进行比较的存储器使用状态阈值;
第三阈值管理单元,其管理要与该绘制操作状态数据进行比较的绘制操作状态数据的阈值;
第一绘制操作切换单元,其比较绘制属性数据管理单元管理的绘制属性数据和第一阈值管理单元管理的不透明性阈值,以切换绘制操作;
由第一绘制操作切换单元控制的第一绘制数据产生单元,其读取扫描线数据管理单元管理的扫描线数据和扫描形状数据管理单元管理的扫描形状数据,并且通过忽视图形对象之间的重叠的处理产生绘制数据;
第一绘制单元,其读取第一绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以执行绘制操作;
由第一绘制操作切换单元控制的第二绘制操作切换单元,其比较存储器使用状态数据管理单元管理的存储器使用状态数据和第二阈值管理单元管理的存储器使用状态阈值,以切换绘制操作;
由第二绘制操作切换单元控制的第二绘制数据产生单元,其读取扫描线数据管理单元管理的扫描线数据和扫描形状数据管理单元管理的扫描形状数据,并且产生用于利用填充允许/禁止确定功能来进行绘制操作的绘制数据,所述填充允许/禁止确定功能用于只在特定区域中进行填充;
第二绘制单元,其读取第二绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以设置填充允许/禁止确定功能,以及利用填充允许/禁止确定功能执行绘制操作;
由第二绘制操作切换单元控制的第三绘制操作切换单元,其比较绘制操作状态数据管理单元管理的绘制操作状态数据和第三阈值管理单元管理的绘制操作状态阈值,以切换绘制操作;
由第三绘制操作切换单元控制的第三绘制数据产生单元,其读取扫描线数据管理单元管理的扫描线数据和扫描形状数据管理单元管理的扫描形状数据,并且通过利用绘制的输出结果产生绘制数据,该绘制数据用于确定是否允许只在特定区域中的填充;
第三绘制单元,其读取第三绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以通过利用绘制的输出结果确定是否允许只在特定区域中的填充;
由第三绘制操作切换单元控制的第四绘制数据产生单元,其读取扫描线数据管理单元管理的扫描线数据和扫描形状数据管理单元管理的扫描形状数据,计算图形对象的轮廓,并且通过绘制多边形来产生绘制数据;和
第四绘制单元,其读取第四绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以执行绘制操作。
9.如权利要求8所述的图形绘制设备,其中第二阈值管理单元进一步对要与存储器使用状态数据进行比较的存储器使用状态阈值执行校正,并且
其中该第三阈值管理单元进一步对关于绘制操作状态数据、要与该绘制操作状态数据进行比较的阈值执行校正。
10.一种图形绘制设备,包括:
扫描线数据输入单元,用于输入指示扫描线的向量数据组;
扫描线数据管理单元,其管理通过扫描线数据输入单元输入的扫描线数据;
扫描形状数据输入单元,用于输入指示要扫描的形状的向量数据组;
扫描形状数据管理单元,其管理通过扫描形状数据输入单元输入的扫描形状数据;
绘制属性数据输入单元,用于输入指示图形对象的填充区域的属性的绘制属性数据;
绘制属性数据管理单元,其管理通过绘制属性数据输入单元输入的绘制属性数据;
存储器使用状态数据输入单元,其获得存储器的使用状态;
存储器使用状态数据管理单元,其管理通过存储器使用状态数据输入单元获得的存储器使用状态数据;
绘制操作状态数据输入单元,其获得绘制操作状态数据;
绘制操作状态数据管理单元,其管理绘制操作状态数据输入单元获得的绘制操作状态数据;
第一阈值管理单元,其管理要与该存储器使用状态数据进行比较的存储器使用状态阈值;
第二阈值管理单元,其管理要与该绘制操作状态数据进行比较的绘制操作状态数据的阈值;
第一绘制操作切换单元,其比较存储器使用状态数据管理单元管理的存储器使用状态数据和第一阈值管理单元管理的存储器使用状态阈值,以切换绘制操作;
由第一绘制操作切换单元控制的第一绘制数据产生单元,其读取扫描线数据管理单元管理的扫描线数据和扫描形状数据管理单元管理的扫描形状数据,并且通过忽视图形对象之间的重叠的处理产生绘制数据;
第一绘制单元,其读取第一绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以设置填充允许/禁止确定功能,以及利用填充允许/禁止确定功能执行绘制操作;
由第一绘制操作切换单元控制的第二绘制操作切换单元,其比较绘制操作状态数据管理单元管理的绘制操作状态数据和第二阈值管理单元管理的存储器使用状态阈值,以切换绘制操作;
由第二绘制操作切换单元控制的第二绘制数据产生单元,其读取扫描线数据管理单元管理的扫描线数据和扫描形状数据管理单元管理的扫描形状数据,并且产生用于利用填充允许/禁止确定功能来进行绘制操作的绘制数据,所述填充允许/禁止确定功能用于只在特定区域中进行填充;
第二绘制单元,其读取第二绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以设置填充允许/禁止确定功能,以及利用填充允许/禁止确定功能执行绘制操作;
由第二绘制操作切换单元控制的第三绘制数据产生单元,其读取扫描线数据管理单元管理的扫描线数据和扫描形状数据管理单元管理的扫描形状数据,计算图形对象的轮廓,并且产生用于绘制多边形的绘制数据;和
第三绘制单元,其读取第三绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以执行绘制操作。
11.一种图形绘制设备,包括:
扫描线数据输入单元,用于输入指示扫描线的向量数据组;
扫描线数据管理单元,其管理通过扫描线数据输入单元输入的扫描线数据;
扫描形状数据输入单元,用于输入指示要扫描的形状的向量数据组;
扫描形状数据管理单元,其管理通过扫描形状数据输入单元输入的扫描形状数据;
绘制属性数据输入单元,用于输入指示图形对象的填充区域的属性的绘制属性数据;
绘制属性数据管理单元,其管理通过绘制属性数据输入单元输入的绘制属性数据;
绘制操作状态数据输入单元,其获得绘制操作状态数据;
绘制操作状态数据管理单元,其管理通过绘制操作状态数据输入单元输入的绘制操作状态数据;
第一阈值管理单元,其管理要与绘制属性数据的不透明性进行比较的不透明性阈值;
第二阈值管理单元,其管理要与该绘制操作状态数据进行比较的绘制操作状态数据的不透明性阈值;
第一绘制操作切换单元,其比较绘制属性数据管理单元管理的绘制属性数据和第一阈值管理单元管理的不透明性阈值,以切换绘制操作;
由第一绘制操作切换单元控制的第一绘制数据产生单元,其读取扫描线数据管理单元管理的扫描线数据和扫描形状数据管理单元管理的扫描形状数据,并且通过忽视图形对象之间的重叠的处理产生绘制数据;
第一绘制单元,其读取第一绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以执行绘制操作;
由第一绘制操作切换单元控制的第二绘制操作切换单元,其比较绘制操作状态数据管理单元管理的绘制操作状态数据和第二阈值管理单元管理的绘制操作状态阈值,以切换绘制操作;
由第二绘制操作切换单元控制的第二绘制数据产生单元,其读取扫描线数据管理单元管理的扫描线数据和扫描形状数据管理单元管理的扫描形状数据,并且通过利用绘制的输出结果产生绘制数据,该绘制数据用于确定是否允许只在特定区域中的填充;
第二绘制单元,其读取第二绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以通过利用绘制的输出结果确定是否允许只在特定区域中的填充;
由第三绘制操作切换单元控制的第三绘制数据产生单元,其读取扫描线数据管理单元管理的扫描线数据和扫描形状数据管理单元管理的扫描形状数据,计算图形对象的轮廓,并且产生用于绘制多边形的绘制数据;和
第三绘制单元,其读取第三绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以执行绘制操作。
12.一种图形绘制设备,包括:
扫描线数据输入单元,用于输入指示扫描线的向量数据组;
扫描线数据管理单元,其管理通过扫描线数据输入单元输入的扫描线数据;
扫描形状数据输入单元,用于输入指示要扫描的形状的向量数据组;
扫描形状数据管理单元,其管理通过扫描形状数据输入单元输入的扫描形状数据;
绘制属性数据输入单元,用于输入指示图形对象的填充区域的属性的绘制属性数据;
绘制属性数据管理单元,其管理通过绘制属性数据输入单元输入的绘制属性数据;
存储器使用状态数据输入单元,其获得存储器的使用状态;
存储器使用状态数据管理单元,其管理通过存储器使用状态数据输入单元获得的存储器使用状态数据;
第一阈值管理单元,其管理要与绘制属性数据的不透明性进行比较的不透明性阈值;
第二阈值管理单元,其管理要与该存储器使用状态数据进行比较的存储器使用状态阈值;
第一绘制操作切换单元,其比较绘制属性数据管理单元管理的绘制属性数据和第一阈值管理单元管理的不透明性阈值,以切换绘制操作;
由第一绘制操作切换单元控制的第一绘制数据产生单元,其读取扫描线数据管理单元管理的扫描线数据和扫描形状数据管理单元管理的扫描形状数据,并且通过忽视图形对象之间的重叠的处理产生绘制数据;
第一绘制单元,其读取第一绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以执行绘制操作;
由第一绘制操作切换单元控制的第二绘制操作切换单元,其比较存储器使用状态数据管理单元管理的存储器使用状态数据和第二阈值管理单元管理的存储器使用状态阈值,以切换绘制操作;
由第二绘制操作切换单元控制的第二绘制数据产生单元,其读取扫描线数据管理单元管理的扫描线数据和扫描形状数据管理单元管理的扫描形状数据,并且产生用于利用填充允许/禁止确定功能来进行绘制操作的绘制数据,所述填充允许/禁止确定功能用于只在特定区域中进行填充;
第二绘制单元,其读取第二绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以设置填充允许/禁止确定功能,以及利用填充允许/禁止确定功能执行绘制操作;
由第二绘制操作切换单元控制的第三绘制数据产生单元,其读取扫描线数据管理单元管理的扫描线数据和扫描形状数据管理单元管理的扫描形状数据,计算图形对象的外围线,并且产生用于绘制多边形的绘制数据;和
第三绘制单元,其读取第三绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以执行绘制操作。
13.一种图形绘制设备,包括:
扫描线数据输入单元,用于输入指示扫描线的向量数据组;
扫描线数据管理单元,其管理通过扫描线数据输入单元输入的扫描线数据;
扫描形状数据输入单元,用于输入指示要扫描的形状的向量数据组;
扫描形状数据管理单元,其管理通过扫描形状数据输入单元输入的扫描形状数据;
绘制属性数据输入单元,用于输入指示图形对象的填充区域的属性的绘制属性数据;
绘制属性数据管理单元,其管理通过绘制属性数据输入单元输入的绘制属性数据;
存储器使用状态数据输入单元,其获得存储器的使用状态;
存储器使用状态数据管理单元,其管理通过存储器使用状态数据输入单元获得的存储器使用状态数据;
第一阈值管理单元,其管理要与绘制属性数据的不透明性进行比较的不透明性阈值;
第二阈值管理单元,其管理要与该存储器使用状态数据进行比较的存储器使用状态阈值;
第一绘制操作切换单元,其比较绘制属性数据管理单元管理的绘制属性数据和第一阈值管理单元管理的不透明性阈值,以切换绘制操作;
由第一绘制操作切换单元控制的第一绘制数据产生单元,其读取扫描线数据管理单元管理的扫描线数据和扫描形状数据管理单元管理的扫描形状数据,并且通过忽视图形对象之间的重叠的处理产生绘制数据;
第一绘制单元,其读取第一绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以执行绘制操作;
由第一绘制操作切换单元控制的第二绘制操作切换单元,其比较存储器使用状态数据管理单元管理的存储器使用状态数据和第二阈值管理单元管理的存储器使用状态阈值,以切换绘制操作;
由第二绘制操作切换单元控制的第二绘制数据产生单元,其读取扫描线数据管理单元管理的扫描线数据和扫描形状数据管理单元管理的扫描形状数据,并且产生用于利用填充允许/禁止确定功能来进行绘制操作的绘制数据,所述填充允许/禁止确定功能用于只在特定区域中进行填充;
第二绘制单元,其读取第二绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以设置填充允许/禁止确定功能,以及利用填充允许/禁止确定功能执行绘制操作;
由第二绘制操作切换单元控制的第三绘制数据产生单元,其读取扫描线数据管理单元管理的扫描线数据和扫描形状数据管理单元管理的扫描形状数据,计算图形对象的轮廓,并且通过利用绘制的输出结果产生绘制数据,该绘制数据用于确定是否允许只在特定区域中的填充;和
第三绘制单元,其读取第三绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以执行绘制操作,在该操作中确定是否允许只在特定区域中的填充。
14.一种图形绘制设备,包括:
扫描线数据输入单元,用于输入指示扫描线的向量数据组;
扫描线数据管理单元,其管理通过扫描线数据输入单元输入的扫描线数据;
扫描形状数据输入单元,用于输入指示要扫描的形状的向量数据组;
扫描形状数据管理单元,其管理通过扫描形状数据输入单元输入的扫描形状数据;
绘制属性数据输入单元,用于输入指示图形对象的填充区域的属性的绘制属性数据;
绘制属性数据管理单元,其管理通过绘制属性数据输入单元输入的绘制属性数据;
阈值管理单元,其管理要与绘制属性数据的不透明性进行比较的不透明性阈值;
绘制操作切换单元,其比较绘制属性数据管理单元管理的绘制属性数据和阈值管理单元管理的不透明性阈值,以切换绘制操作;
由绘制操作切换单元控制的第一绘制数据产生单元,其读取扫描线数据管理单元管理的扫描线数据和扫描形状数据管理单元管理的扫描形状数据,并且通过忽视图形对象之间的重叠的处理产生绘制数据;
第一绘制单元,其读取第一绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以执行绘制操作;
由绘制操作切换单元控制的第二绘制数据产生单元,其读取扫描线数据管理单元管理的扫描线数据和扫描形状数据管理单元管理的扫描形状数据,计算图形对象的轮廓,并且通过绘制多边形来产生绘制数据;和
第二绘制单元,其读取第二绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以执行绘制操作。
15.一种图形绘制设备,包括:
扫描线数据输入单元,用于输入指示扫描线的向量数据组;
扫描线数据管理单元,其管理通过扫描线数据输入单元输入的扫描线数据;
扫描形状数据输入单元,用于输入指示要扫描的形状的向量数据组;
扫描形状数据管理单元,其管理通过扫描形状数据输入单元输入的扫描形状数据;
绘制属性数据输入单元,用于输入指示图形对象的填充区域的属性的绘制属性数据;
绘制属性数据管理单元,其管理通过绘制属性数据输入单元输入的绘制属性数据;
阈值管理单元,其管理要与绘制属性数据的不透明性进行比较的不透明性阈值;
绘制操作切换单元,其比较绘制属性数据管理单元管理的绘制属性数据和阈值管理单元管理的不透明性阈值,以切换绘制操作;
由绘制操作切换单元控制的第一绘制数据产生单元,其读取扫描线数据管理单元管理的扫描线数据和扫描形状数据管理单元管理的扫描形状数据,并且通过忽视图形对象之间的重叠的处理产生绘制数据;
第一绘制单元,其读取第一绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以执行绘制操作;
由绘制操作切换单元控制的第二绘制数据产生单元,其读取扫描线数据管理单元管理的扫描线数据和扫描形状数据管理单元管理的扫描形状数据,并且通过利用绘制的输出结果产生绘制数据,该绘制数据用于确定是否允许只在特定区域中的填充;和
第二绘制单元,其读取第二绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以利用绘制结果输出区域执行绘制操作,在该操作中确定是否允许填充。
16.一种图形绘制设备,包含:
扫描线数据输入单元,用于输入指示扫描线的向量数据组;
扫描线数据管理单元,其管理通过扫描线数据输入单元输入的扫描线数据;
扫描形状数据输入单元,用于输入指示要扫描的形状的向量数据组;
扫描形状数据管理单元,其管理通过扫描形状数据输入单元输入的扫描形状数据;
绘制属性数据输入单元,用于输入指示图形对象的填充区域的属性的绘制属性数据;
绘制属性数据管理单元,其管理通过绘制属性数据输入单元输入的绘制属性数据;
阈值管理单元,其管理要与绘制属性数据的不透明性进行比较的不透明性阈值;
绘制操作切换单元,其比较绘制属性数据管理单元管理的绘制属性数据和阈值管理单元管理的不透明性阈值,以切换绘制操作;
由绘制操作切换单元控制的第一绘制数据产生单元,其读取扫描线数据管理单元管理的扫描线数据和扫描形状数据管理单元管理的扫描形状数据,并且通过忽视图形对象之间的重叠的处理产生绘制数据;
第一绘制单元,其读取第一绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以执行绘制操作;
由绘制操作切换单元控制的第二绘制数据产生单元,其读取扫描线数据管理单元管理的扫描线数据和扫描形状数据管理单元管理的扫描形状数据,并且产生用于利用填充允许/禁止确定功能来进行绘制操作的绘制数据,所述填充允许/禁止确定功能用于只在特定区域中进行填充;和
第二绘制单元,其读取第二绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以设置填充允许/禁止确定功能,以及利用填充允许/禁止确定功能执行绘制操作。
17.一种图形绘制设备,包括:
扫描线数据输入单元,用于输入指示扫描线的向量数据组;
扫描线数据管理单元,其管理通过扫描线数据输入单元输入的扫描线数据;
扫描形状数据输入单元,用于输入指示要扫描的形状的向量数据组;
扫描形状数据管理单元,其管理通过扫描形状数据输入单元输入的扫描形状数据;
绘制属性数据输入单元,用于输入指示图形对象的填充区域的属性的绘制属性数据;
绘制属性数据管理单元,其管理通过绘制属性数据输入单元输入的绘制属性数据;
绘制操作状态数据输入单元,用于获得绘制操作状态数据;
绘制操作状态数据管理单元,其管理通过绘制操作状态数据输入单元输入的绘制操作状态数据;
阈值管理单元,其管理要与该绘制操作状态数据进行比较的绘制操作状态数据的阈值;
绘制操作切换单元,其比较绘制操作状态数据管理单元管理的绘制操作状态数据和阈值管理单元管理的绘制操作状态的阈值,以切换绘制操作;
由绘制操作切换单元控制的第一绘制数据产生单元,其读取扫描线数据管理单元管理的扫描线数据和扫描形状数据管理单元管理的扫描形状数据,并且通过利用绘制结果输出区域产生绘制数据,该绘制数据用于确定是否允许只在特定区域中的填充;
第一绘制单元,其读取第一绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以利用绘制结果输出区域执行绘制操作,在该操作中确定是否允许填充;
由绘制操作切换单元控制的第二绘制数据产生单元,其读取扫描线数据管理单元管理的扫描线数据和扫描形状数据管理单元管理的扫描形状数据,计算图形对象的轮廓,并且产生用于绘制多边形的绘制数据;和
第二绘制单元,其读取第二绘制数据产生单元产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,以执行绘制操作。
18.一种图形绘制方法,包括:
将表示图形对象的形状的向量数据组输入到向量数据组管理单元中;
将表示关于图形对象的内部属性信息的绘制属性数据输入到绘制属性数据管理单元;
将指示使用状态的资源信息输入到资源信息管理单元;
读取向量数据组管理单元管理的向量数据组,并且通过特征计算单元计算指示输入图形对象的几何特征的特征;
读取计算的特征和资源信息管理单元管理的资源信息,并且进行切换以产生最优绘制数据;
读取向量数据组管理单元管理的向量数据组和绘制属性数据管理单元管理的绘制属性数据,并且产生绘制数据;和
读取所产生的绘制数据和绘制属性数据管理单元管理的绘制属性数据,从而执行绘制操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006088705 | 2006-03-28 | ||
JP2006088705A JP4621618B2 (ja) | 2006-03-28 | 2006-03-28 | 図形描画装置、図形描画方法、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101046883A CN101046883A (zh) | 2007-10-03 |
CN100585631C true CN100585631C (zh) | 2010-01-27 |
Family
ID=38249245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710091883A Expired - Fee Related CN100585631C (zh) | 2006-03-28 | 2007-03-28 | 图形绘制设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8471855B2 (zh) |
EP (1) | EP1840837A3 (zh) |
JP (1) | JP4621618B2 (zh) |
KR (1) | KR100883704B1 (zh) |
CN (1) | CN100585631C (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2107528B1 (en) | 2008-04-01 | 2012-12-26 | Telefonaktiebolaget L M Ericsson (PUBL) | Method of and arrangement for rendering a path |
CN101685544B (zh) * | 2008-09-28 | 2011-11-23 | 北大方正集团有限公司 | 一种简化复杂路径的方法及装置 |
GB0818277D0 (en) * | 2008-10-06 | 2008-11-12 | Advanced Risc Mach Ltd | Graphics processing system |
GB0908506D0 (en) * | 2009-05-18 | 2009-06-24 | Imagination Tech Ltd | Method and apparatus for drawing polygons |
JP5596938B2 (ja) * | 2009-06-02 | 2014-09-24 | キヤノン株式会社 | 画像処理装置、画像処理方法、及びプログラム |
CN102096831B (zh) * | 2009-12-15 | 2013-01-30 | 华中师范大学 | 一种图形动态关系识别方法 |
US20110285718A1 (en) | 2010-05-21 | 2011-11-24 | Kilgard Mark J | Point containment for quadratic bèzier strokes |
KR101691034B1 (ko) | 2010-08-03 | 2016-12-29 | 삼성전자주식회사 | 3차원 그래픽 기반 단말기에서 객체 렌더링 시 부가정보 합성 장치 및 방법 |
US8803885B1 (en) * | 2011-09-07 | 2014-08-12 | Infragistics, Inc. | Method for evaluating spline parameters for smooth curve sampling |
US9318078B2 (en) | 2011-10-31 | 2016-04-19 | Invensys Systems, Inc. | Intelligent memory management system and method for visualization of information |
CN102663989B (zh) * | 2012-04-17 | 2016-11-09 | 青岛海信移动通信技术股份有限公司 | 一种用于移动终端显示的缓存处理方法及装置 |
CN103593862A (zh) * | 2013-11-21 | 2014-02-19 | 广东威创视讯科技股份有限公司 | 一种图像显示方法及控制单元 |
US9721363B2 (en) * | 2014-05-19 | 2017-08-01 | Google Inc. | Encoding polygon data for fast retrieval and rendering |
CN104182928A (zh) * | 2014-08-15 | 2014-12-03 | 成都天奥信息科技有限公司 | 矢量图形快速多边形填充方法 |
US9836874B2 (en) * | 2015-01-27 | 2017-12-05 | Splunk Inc. | Efficient polygon-clipping technique to reduce data transfer requirements for a viewport |
US9607414B2 (en) | 2015-01-27 | 2017-03-28 | Splunk Inc. | Three-dimensional point-in-polygon operation to facilitate displaying three-dimensional structures |
US9916326B2 (en) | 2015-01-27 | 2018-03-13 | Splunk, Inc. | Efficient point-in-polygon indexing technique for facilitating geofencing operations |
US10026204B2 (en) | 2015-01-27 | 2018-07-17 | Splunk Inc. | Efficient point-in-polygon indexing technique for processing queries over geographic data sets |
US9767122B2 (en) | 2015-01-27 | 2017-09-19 | Splunk Inc. | Efficient point-in-polygon indexing technique to facilitate displaying geographic data |
CN104680147B (zh) * | 2015-03-09 | 2018-04-03 | 浙江万朋教育科技股份有限公司 | 一种基于鼠标和触控设备的特需几何图形的快速识别方法 |
KR20170066082A (ko) | 2015-12-04 | 2017-06-14 | 삼성전자주식회사 | Bist 회로, 이를 포함하는 메모리 장치 및 이의 동작방법 |
US20170301316A1 (en) * | 2016-04-13 | 2017-10-19 | James Paul Farell | Multi-path graphics rendering |
GB201809960D0 (en) * | 2018-06-18 | 2018-08-01 | Eyecon As | Video conferencing system |
US10930040B2 (en) | 2019-05-20 | 2021-02-23 | Adobe Inc. | Graphic object modifications |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1460970A (zh) * | 2002-05-14 | 2003-12-10 | 佳能株式会社 | 图像处理装置、图像处理方法、程序以及记录介质 |
CN1545682A (zh) * | 2002-04-25 | 2004-11-10 | ���µ�����ҵ��ʽ���� | 图像处理装置 |
CN1664864A (zh) * | 1999-12-22 | 2005-09-07 | 英特尔公司 | 用于在一个存储桶绘制系统中确保向后兼容的方法和装置 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4675702A (en) * | 1986-03-14 | 1987-06-23 | Gerber Scientific Inc. | Photoplotter using a light valve device and process for exposing graphics |
US4815009A (en) * | 1987-04-21 | 1989-03-21 | Xerox Corporation | Algorithm for filling an image outline |
US4962468A (en) * | 1987-12-09 | 1990-10-09 | International Business Machines Corporation | System and method for utilizing fast polygon fill routines in a graphics display system |
JPH01241556A (ja) * | 1988-03-22 | 1989-09-26 | Dainippon Screen Mfg Co Ltd | 凸ループ分割を用いた塗り潰しデータ生成方法 |
US5043711A (en) * | 1989-06-09 | 1991-08-27 | Xerox Corporation | Representation of polygons defined by non-zero winding numbers |
JP2770598B2 (ja) * | 1990-06-13 | 1998-07-02 | 株式会社日立製作所 | 図形表示方法およびその装置 |
JPH04256080A (ja) * | 1990-08-29 | 1992-09-10 | Xerox Corp | 多角形を表現する規約を変換する方法 |
JP2712912B2 (ja) * | 1991-08-23 | 1998-02-16 | 日本電気株式会社 | エッジリスト作成装置 |
AUPM806694A0 (en) * | 1994-09-12 | 1994-10-06 | Canon Inc. | Rendering of overlapping objects |
US5673379A (en) * | 1995-03-20 | 1997-09-30 | Hewlett-Packard Company | Scan line generator for area fill of extensible polygons |
US6172682B1 (en) * | 1996-01-24 | 2001-01-09 | Hewlett-Packard Co. | Detecting insideness of a rectangle to an arbitrary polygon |
US6111587A (en) * | 1997-05-08 | 2000-08-29 | Autodesk, Inc. | Method for converting non-zero winding to even-odd fill polygons |
JPH10326352A (ja) * | 1997-05-27 | 1998-12-08 | Mitsubishi Electric Corp | 多角形塗り潰し方法及び記録媒体 |
JPH11165434A (ja) * | 1997-12-03 | 1999-06-22 | Fuji Xerox Co Ltd | 描画処理装置 |
US6466229B1 (en) * | 1999-01-26 | 2002-10-15 | Fuji Xerox Co., Ltd. | Graphics processing apparatus and graphics processing method |
US20020039100A1 (en) * | 2000-06-08 | 2002-04-04 | Stephen Morphet | Memory management for systems for generating 3-dimensional computer images |
JP4022710B2 (ja) * | 2000-10-20 | 2007-12-19 | 富士ゼロックス株式会社 | 描画処理装置 |
JP2002144644A (ja) * | 2000-11-14 | 2002-05-22 | Canon Inc | 画像形成装置および画像形成方法 |
US7110003B2 (en) * | 2000-12-22 | 2006-09-19 | Canon Kabushiki Kaisha | Rendering objects |
JP4085204B2 (ja) * | 2003-09-05 | 2008-05-14 | 株式会社オーク製作所 | 描画用ベクタデータの処理方法及び描画装置 |
-
2006
- 2006-03-28 JP JP2006088705A patent/JP4621618B2/ja not_active Expired - Fee Related
-
2007
- 2007-03-21 EP EP07005848.2A patent/EP1840837A3/en not_active Withdrawn
- 2007-03-22 US US11/689,825 patent/US8471855B2/en not_active Expired - Fee Related
- 2007-03-27 KR KR1020070029833A patent/KR100883704B1/ko not_active IP Right Cessation
- 2007-03-28 CN CN200710091883A patent/CN100585631C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1664864A (zh) * | 1999-12-22 | 2005-09-07 | 英特尔公司 | 用于在一个存储桶绘制系统中确保向后兼容的方法和装置 |
CN1545682A (zh) * | 2002-04-25 | 2004-11-10 | ���µ�����ҵ��ʽ���� | 图像处理装置 |
CN1460970A (zh) * | 2002-05-14 | 2003-12-10 | 佳能株式会社 | 图像处理装置、图像处理方法、程序以及记录介质 |
Also Published As
Publication number | Publication date |
---|---|
EP1840837A2 (en) | 2007-10-03 |
US20070236498A1 (en) | 2007-10-11 |
JP4621618B2 (ja) | 2011-01-26 |
EP1840837A3 (en) | 2013-12-25 |
JP2007264989A (ja) | 2007-10-11 |
KR20070097352A (ko) | 2007-10-04 |
US8471855B2 (en) | 2013-06-25 |
KR100883704B1 (ko) | 2009-02-12 |
CN101046883A (zh) | 2007-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100585631C (zh) | 图形绘制设备 | |
JP6869249B2 (ja) | 2つのタイプのインクベクトルデータを生成して選択的に出力する方法及びシステム | |
CN101702309B (zh) | 用于绘制组合字形的区域的方法 | |
US8724914B2 (en) | Image file generation device, image processing device, image file generation method, image processing method, and data structure for image files | |
KR101136737B1 (ko) | 그래픽 처리방법 및 그 장치 | |
US20110199297A1 (en) | Method and apparatus for drawing and erasing calligraphic ink objects on a display surface | |
JP2008243204A (ja) | ノードリンクダイアグラムに構造認識を提供する方法およびプログラム | |
CN101116111A (zh) | 使用3d光栅化算法的2d/3d线条渲染 | |
CN101211462A (zh) | 一种矢量图形加速方法及多媒体播放器 | |
US9792517B2 (en) | Method and system for generating and selectively outputting two types of ink vector data | |
US9858708B2 (en) | Convex polygon clipping during rendering | |
CN111091620B (zh) | 基于图形学的地图动态路网处理方法及系统、计算机设备 | |
JP2009301284A (ja) | 描画装置および方法 | |
US9384593B2 (en) | Level of detail processing | |
KR101913212B1 (ko) | 디스플레이 장치 및 디스플레이 장치의 제어 방법 | |
JP4425734B2 (ja) | 隠線を消去したベクトルイメージを提供する方法 | |
JP5864474B2 (ja) | 空間を分割してグラフィックスを処理する画像処理装置及び画像処理方法 | |
JP5151946B2 (ja) | 描画装置 | |
JP2010039680A (ja) | 画像処理装置、画像処理プログラムおよび画像処理方法 | |
JP2014110036A (ja) | 描画装置、描画方法、および描画プログラム | |
CN116521043B (zh) | 一种图纸快速响应的方法、系统及计算机程序产品 | |
JP2011165062A (ja) | 描画処理装置、描画処理方法、及びプログラム | |
JP4479957B2 (ja) | 曲面細分割装置 | |
Petrunina | VATTY POLYGON CLIPPING ALGORITHM | |
JP2002056403A (ja) | 描画指示装置及び描画指示方法及びコンピュータ読み取り可能な記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100127 Termination date: 20160328 |