具有虚线模式的路径的gpu加速再现的制作方法

文档序号:8207776阅读:385来源:国知局
具有虚线模式的路径的gpu加速再现的制作方法
【专利说明】
[0001] 本申请案主张2012年8月9日申请的第61/681,498号美国临时申请案、2012年 10月12日申请的第61/713, 377号美国临时申请案、2012年11月6日申请的第61/723, 274 号美国临时申请案、2013年1月22日申请的第61/755, 312号美国临时申请案、2013年1月 22日申请的第61/755, 359号美国临时申请案以及2013年1月22日申请的第61/755, 391 号美国临时申请案的权益,以上申请案中的每一者的整个内容以引用的方式并入本文中。
技术领域
[0002] 本发明涉及用于图形处理的技术,且更具体地说,涉及用于以图形处理单元进行 路径再现的技术。
【背景技术】
[0003] 用于显示的视觉内容可使用用于向量图形的路径再现技术来产生。路径再现可指 代二维(2D)向量图形路径(可替代地在本文中被称作"路径")的再现,所述路径中的每一 者可包含一或多个路径片段。当路径包含两个或两个以上路径片段时,个别路径片段可具 有相同类型或不同类型。路径片段的类型可包含(例如)线、椭圆形弧、二次贝塞尔曲线和 三次贝塞尔曲线。在一些实例中,路径片段类型可根据例如开放向量图形(OpenVG)API等 标准向量图形应用程序编程接口(API)来界定。
[0004] 路径再现通常由中央处理单元(CPU)实施。然而,此方法可为CPU密集的,且因此 可限制可用于其它CPU任务的CPU处理循环的量。包含路径再现的用于向量图形的常规技 术可完全在CPU中或部分地在CPU中且部分地在GPU中实施。

【发明内容】

[0005] 本发明提供用于路径再现的系统和方法,包含绘制路径片段、填充路径片段,包含 (1)将路径棋盘形布置为线段,(2)使用单元缓冲器进行光栅化和扫描填充,以及(3)使用 填充颜色和来自单元缓冲器的模板绘制路径的限界框;以及来回划动路径片段,包含(1) 将路径棋盘形布置为线段,(2)根据虚线模式切割线段,以及(3)产生来回划线的三角测量 且光栅化所述来回划线。
[0006] 在一个实例中,本发明描述一种方法,其包含:以图形处理单元(GPU)接收指示待 再现路径的路径片段的数据;以所述GPU通过执行所述路径片段的填充而再现所述路径片 段,填充所述路径片段包含:将所述路径片段棋盘形布置为第一多个基元,每基元包含三角 形,将第一多个基元存储在模板缓冲器中,以及绘制所述路径片段的限界框且在启用模板 测试的情况下再现所述限界框;以及来回划动所述路径片段,包含:将所述路径棋盘形布 置为第二多个基元,再棋盘形布置所述第二多个基元,根据虚线模式切割所述第二多个基 元,在切割的位置处产生盖,以及产生来回划线的三角测量且基于所述三角测量光栅化所 述来回划线。
[0007] 在另一实例中,本发明是一种经配置以执行图形处理的设备,其包含:图形处理单 元,经配置以:接收指示待再现路径的路径片段的数据;以及通过执行所述路径片段的填 充而再现所述路径片段,所述填充包含:将所述路径片段棋盘形布置为第一多个基元,每基 元包含三角形,将第一多个基元存储在模板缓冲器中,以及绘制所述路径片段的限界框且 在启用模板测试的情况下再现所述限界框;以及来回划动所述路径片段,包含:将所述路 径棋盘形布置为第二多个基元,再棋盘形布置所述第二多个基元,根据虚线模式切割所述 第二多个基元,在切割的位置处产生盖,产生来回划线的三角测量且基于所述三角测量光 栅化所述来回划线。
[0008] 在另一实例中,本发明描述一种设备,其包含:用于接收指示待再现路径的路径片 段的数据的装置;用于通过执行所述路径片段的填充而再现所述路径片段的装置,所述用 于填充所述路径片段的装置包含:用于将所述路径片段棋盘形布置为第一多个基元的装 置,每基元包含三角形,用于将第一多个基元存储在模板缓冲器中的装置,以及用于绘制所 述路径片段的限界框的装置以及用于在启用模板测试的情况下再现所述限界框的装置;以 及用于来回划动所述路径片段的装置,包含:用于将所述路径棋盘形布置为第二多个基元 的装置,用于再棋盘形布置所述第二多个基元的装置,用于根据虚线模式切割所述第二多 个基元的装置,用于在切割的位置处产生盖的装置,以及用于产生来回划线的三角测量且 基于所述三角测量光栅化所述来回划线的装置。
[0009] 在另一实例中,本发明描述一种计算机可读存储媒体。所述计算机可读存储媒体 具有存储于其上的指令,所述指令在执行后即刻致使一或多个处理器:接收指示待再现路 径的路径片段的数据;以及通过执行所述路径片段的填充而再现所述路径片段,所述填充 包含:将所述路径片段棋盘形布置为第一多个基元,每基元包含三角形,将第一多个基元存 储在模板缓冲器中,以及绘制所述路径片段的限界框且在启用模板测试的情况下再现所述 限界框;以及将所述路径棋盘形布置为第二多个基元,再棋盘形布置所述第二多个基元,根 据虚线模式切割所述第二多个基元,在切割的位置处产生盖,以及产生来回划线的三角测 量且基于所述三角测量光栅化所述来回划线。
[0010] 在一个实例中,本发明描述一种方法,其包含:以图形处理单元(GPU)接收指示待 再现路径的路径片段的数据;以及以所述GPU通过执行所述路径片段的填充而再现所述路 径片段,填充所述路径片段包含:将所述路径片段棋盘形布置为第一多个基元,使用单元缓 冲器基于所述第一多个基元而光栅化且扫描填充所述路径片段,以及绘制所述路径片段的 限界框和来自所述单元缓冲器的模板。
[0011] 在以下附图及描述中阐述一或多个实例的细节。其它特征、目标及优点将从所述 描述及附图以及权利要求书中显而易见。
【附图说明】
[0012] 图1是说明可用以实施本发明的路径再现技术的实例计算装置的框图。
[0013] 图2是进一步详细说明图1中的计算装置的CPU、GPU和存储器的框图。
[0014] 图3是说明使用棋盘形布置的实例图形管线的框图。
[0015] 图4是说明根据本发明中描述的一或多个实例的使用棋盘形布置的实例图形管 线的框图。
[0016] 图5是说明根据本发明中描述的一或多个实例的来回划动的实例的图,所述来回 划动可包含通过在垂直于线的两个方向中加粗所述线而加宽所述线。
[0017] 图6是说明根据本发明中描述的一或多个实例的来回划动的实例的图,其中可定 位一对三角形条带以加宽线段中的至少一者。
[0018] 图7是说明根据本发明中描述的一或多个实例的接合作为斜边、圆形或斜接的路 径片段的实例的图。
[0019] 图8是说明根据本发明中描述的一或多个实例的接合作为斜边的路径片段的实 例的图。
[0020] 图9是说明根据本发明中描述的一或多个实例的接合作为斜接的路径片段的实 例的图。
[0021] 图10是说明根据本发明中描述的一或多个实例的接合作为圆形的路径片段的实 例的图。
[0022] 图11是说明将使用本发明的路径填充技术填充的实例多边形的概念图。
[0023] 图12是说明其中法向量的交叉点在来回划线区域的内部的实例来回划线区域配 置的概念图。
[0024] 图13是说明其中法向量的交叉点在来回划线区域外部的实例来回划线区域配置 的概念图。
[0025] 图14是说明可在形成来回划线区域的两个三角形之间形成的实例T接头的概念 图。
[0026] 图15是说明分裂为十六乘十六子像素栅格的像素的实例的图。
[0027] 图16是说明分裂为四个十六乘十六子像素栅格的四个相邻像素的实例的图。
[0028] 图17是说明边缘取样的实例的图。
[0029] 图18A和18B是说明根据本发明中描述的一或多个实例的实例方法的流程图。
[0030] 图19是说明实例填充过程的图。
[0031] 图20A到20Z是说明根据本发明中描述的一或多个实例的逐步实例的图。
[0032] 图21A到20D是说明根据本发明中描述的一或多个实例的另一实例的图。
[0033] 图22A到22B是说明根据本发明中描述的一或多个实例的另一实例的图。
[0034] 图23A到23C是说明根据本发明中描述的一或多个实例的另一实例的图。
[0035] 图24是说明根据本发明中描述的一或多个实例的实例曲线的图。
[0036] 图25是说明根据本发明中描述的一或多个实例的实例曲线的图。
[0037] 图26A到26C是说明根据本发明中描述的一或多个实例处理的实例曲线的图。
[0038] 图23A到23C是说明根据本发明中描述的一或多个实例的另一实例的图。
[0039] 图27是说明根据本发明中描述的一或多个实例的实例的图。
[0040] 图28是说明根据本发明中描述的一或多个实例的实例曲线的图。
[0041] 图29是说明根据本发明中描述的一或多个实例的实例曲线的图。
[0042] 图30是说明根据本发明中描述的一或多个实例的实例曲线的图。
[0043] 图31是说明根据本发明中描述的一或多个实例的实例输出的图。
[0044] 图32是说明根据本发明中描述的一或多个实例的实例线段的图。
[0045] 图33是说明根据本发明中描述的一或多个实例的实例线段的图。
[0046] 图34是说明根据本发明中描述的一或多个实例的实例线段的图。
[0047] 图35为说明根据本发明中所描述的一或多个实例的实例方法的流程图。
[0048] 图36是说明根据本发明中描述的一或多个实例的实例方法的流程图。
【具体实施方式】
[0049] 本发明是针对用于使用图形处理单元(GPU)执行路径再现的技术。路径再现可指 代二维(2D)向量图形路径(可替代地在本文中被称作"路径")的再现,所述路径中的每一 者可包含一或多个路径片段。当路径包含两个或两个以上路径片段时,个别路径片段可具 有相同类型或不同类型。路径片段的类型可包含(例如)线、椭圆形弧、二次贝塞尔曲线和 三次贝塞尔曲线。在一些实例中,路径片段类型可根据例如开放向量图形(OpenVG)API等 标准向量图形应用程序编程接口(API)来界定。
[0050] 如上文所论述,包含路径再现的用于向量图形的常规技术是完全在CPU中或部分 地在CPU中且部分地在GPU中实施。这些实施方案中没有任一者允许GPU中的单个遍次。 另外,没有任一实施方案完全从CPU卸载向量图形处理。一个是完全基于CPU,而另一者使 用CPU和GPU两者。
[0051] 如所论述,在CPU中执行向量图形处理可为非所要的,因为此类处理可为处理器 密集的且因此,可限制CPU中可用于执行其它功能的处理循环的数目。另外,在许多情况 下,CPU可在与GPU相比时消耗更多功率。由于许多移动装置可为电池供电的,因此较低功 率消耗可为有利的。此外,CPU可不允许许多的并行处理(例如,用于相当价格的GPU)。大 体上,CPU在与GPU相比时也可能更昂贵。
[0052] 本文所描述的实例提供可(例如)通过修改本文所述的实例系统而应用于(例 如)现有微软DirectXll顺应硬件(或等效硬件支持棋盘形布置)以允许可用于向量图形 处理的路径再现的系统和方法。在一个实例中,本发明提供使用DirectXll管线级的单个 遍次解决方案。此实例可完全从CPU卸载向量图形处理。另外,所揭示的技术提供如GPU 中的现有着色器的可编程向量图形处理且可用以支持其它基元类型和接点/末端规则。
[0053] GPU通常实施三维(3D)图形管线,其经设计以与一或多个3D图形API顺应。因为 当今在使用的流
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1