CN102099832A - Gpu贝塞尔路径光栅化 - Google Patents

Gpu贝塞尔路径光栅化 Download PDF

Info

Publication number
CN102099832A
CN102099832A CN2009801286535A CN200980128653A CN102099832A CN 102099832 A CN102099832 A CN 102099832A CN 2009801286535 A CN2009801286535 A CN 2009801286535A CN 200980128653 A CN200980128653 A CN 200980128653A CN 102099832 A CN102099832 A CN 102099832A
Authority
CN
China
Prior art keywords
sample
edge
pixel
over
aliasing
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.)
Granted
Application number
CN2009801286535A
Other languages
English (en)
Other versions
CN102099832B (zh
Inventor
A·米哈尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102099832A publication Critical patent/CN102099832A/zh
Application granted granted Critical
Publication of CN102099832B publication Critical patent/CN102099832B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Image Analysis (AREA)

Abstract

超采样和计算与特征边缘的距离或贝塞尔求值的混合体系结构来解决图形***中的细小特征支持。为了避免遗漏一些特征,此技术创建少数超样本的超采样来拾取细小特征。通过超采样,可在细小特征的两侧上产生样本,这使得细小特征可被某一像素检测到。既然细小特征命中了某一像素,质量将由与边缘的距离的方法来实现。例如,该技术可结合与边缘的距离的方法四倍超采样,从而产生另外四个样本,得到16样本的结果。

Description

GPU贝塞尔路径光栅化
背景
由于GPU上所提供的图形操作的并行性、较佳的存储器带宽以及专用硬件,将多个图形计算移到图形处理单元(GPU)上改进了通常在设备中央处理单元(CPU)上所进行的处理。然而,GPU仅能够用几何着色器、顶点着色器和像素着色器来光栅化三角形。绘制路径(其中路径是补缀在一起的贝塞尔(Bézier)曲线的组合,不被光栅化图像的限制所绑定,并且对修改是直观的)需要某种转换成为GPU可理解的形式。传统方法在CPU上执行这一转换步骤,并且通常变得受CPU限制。
传统的抗混叠方法是超采样,其中该技术包括概念上以更高的分辨率进行绘图,并且随后用滤波器模式降采样来产生抗混叠的结果。超采样的缺点是它一般随着样本数量而在性能上伸缩,并且对于高用户界面(UI)质量,应使用十六或更多的样本。这可导致基于实现的大约十六倍的减速以及十六倍的存储器要求。可采用较慢但使用较少存储器的多遍方法。
另一抗混叠方法是硬件本机支持且包括对每一像素运行一次像素着色器的多样本缓冲区的方法。该方法以较高分辨率产生用于几何结构的覆盖信息,并且生成用于三角数据的抗混叠信息。然而,多样本方法有缺点。质量随着特定部分而显著地变化。大多数硬件具有某他最小样本数(例如,四个样本),这对于高质量矢量图形是不够的。此外,多样本抗混叠与提供不一致外表的不同GPU厂商不同。另外,多样本抗混叠可对每一像素只运行一次像素着色器。由此,在像素着色器中使用贝塞尔展平技术导致混叠的输出,因为像素着色器对曲线的求值是次最优的。
常用的第三种抗混叠方法涉及基于从采样点到边缘的距离的技术。在像素着色器中,可计算与几何结构的边缘的距离,并且产生阿尔法衰减来获得抗混叠的结果。使用这一方法,绘图可被完全混叠,而无需超采样的成本并且无需与多样本缓冲区相关联的额外成本。可获得沿贝塞尔的抗混叠边缘;然而,因为像素着色器对每一像素仅运行一次,并且因为像素着色器将仅在像素被包含在几何中的情况下在该像素上运行,因此如果几何结构是细小的,这一方法不能够渲染细小的几何结构。
考虑成一角度的1像素线(例如,直接角周围的弧),这在UI中是常见的。由于该细小特征有可能遗漏所有采样点。当绘图被混叠时,在每个像素的中心存在一采样点,并且如果几何结构与该采样点不相交,则什么都没有绘制。由此,对于成一角度1像素宽的线,该几何结构消失。由此,这第三种方法的缺点是如果特征变得细小,则该特征可简单地消失。
另一缺点是角是不准确的,因为角也可能遗漏采样点。解决这一问题的方法是使用像素着色器和多样本缓冲区的组合。多样本缓冲区有助于角,因为角常常具有相关联的也与角匹配的几何结构,并且以某种方式对多样本缓冲区的边缘产生掩蔽效应。然而,在不存在边缘几何结构的情况下,例如,当贝塞尔展平在接近细小特征的像素着色器中完成时,这一方法仍没有解决细小特征的问题。基本上,一像素宽的曲线消失,且尽管角变得更好,但角在采用多样本缓冲区的情况下是不准确的。
发明内容
下面提供了简化的概述,以便提供对此处所描述的一些新颖实施例的基本理解。本概述不是详尽的概述,并且它不旨在标识关键/重要元素或描绘本发明的范围。其唯一的目的是以简化形式呈现一些概念,作为稍后呈现的更详细描述的序言。
所公开的体系结构至少解决了使用图形处理单元(GPU)来绘制基本曲线并且在输出中获得高质量的抗混叠的问题。一般而言,采用超采样来产生较高频率的像素着色器样本,以便允许像素着色器所有相关像素上运行以便得到细小形状支持。顶点着色器计算抗混叠采样信息。采用可仅沿边缘而非整个形状进行超采样的三角测量算法。
该技术是超采样与用贝塞尔求值计算与特征边缘的距离的方法混合。为了避免遗漏一些特征,该技术创建小数量的超样本(例如,三个或四个样本)的某一超采样,这可基于超样本的数量而相应地减慢过程。例如,当使用四个超样本时,过程可被减慢四倍,并且它自身没有足够质量来在用户界面(UI)中渲染。然而,这对拾取细小特征是足够质量的。换言之,通过稍微超采样,可在细小笔画边缘的两侧产生样本,这使得细小特征可被某一像素检测到。既然细小特征命中了某一像素,质量将由与边缘的距离的方法来实现。例如,该技术可结合与边缘的距离的方法来四倍超采样,从而产生另外四个样本,导致16样本的结果。
为了为实现上述及相关目的,本文结合下面的描述和附图来描述某些说明性方面。这些方面指示了可以实践本文所公开的原理的各种方式,所有方面及其等效方面旨在落入所要求保护的主题的范围内。结合附图阅读下面的详细描述,其他优点和新颖特征将变得显而易见。
附图简述
图1示出了根据所公开的体系结构的计算机实现的图形处理***。
图2示出了根据所公开的体系结构的更详细的图形处理***。
图3示出了GPU路径光栅化的流程框图。
图4示出了处理图形的计算机实现的方法。
图5示出了路径光栅化的方法。
图6示出了对边缘采样的方法。
图7示出了根据所公开的体系结构的可用于采用生成贝塞尔路径光栅化的GPU的计算***的框图。
具体实施方式
所公开的体系结构至少解决了使用图形处理单元(GPU)来绘制基本曲线并且在输出中获得高质量的抗混叠的问题。采用超采样来在细小特征的两侧上产生像素着色器样本,以便允许着色器在细小形状(例如,1像素宽的线)的所有相关像素上进行处理。顶点着色器计算抗混叠采样信息,而不是使用ddx/ddy来逼近与边缘的距离。ddx指令计算相对于X窗口坐标的近似偏导来产生结果矢量。在像素的中心对该偏导求值。类似地,ddy指令计算相对于Y窗口坐标的近似偏导来产生结果矢量。同样在像素的中心对该偏导数值。采用可仅沿边缘超采样而非对整个形状采样的三角测量算法。
现在将参考附图,全部附图中相同的附图标记用于表示相同的元件。在下面的描述中,为了进行说明,阐述了很多具体细节以便提供对本发明的全面理解。然而,显而易见,可以没有这些具体细节的情况下实施各新颖实施例。在其它情况下,以框图形式示出了公知的结构和设备以便于描述它们。本发明将涵盖落入所要求保护的主题的精神和范围内的所有修改、等效方案和替换方案。
图1示出了根据所公开的体系结构的计算机实现的图形处理***100。***100包括用于对图像108(场景)中的对象106的边缘104进行采样来分辨几何信息的采样组件102。***100还可包括用于通过计算抗混叠采样信息112来增强图像108的质量的质量组件110。采样组件102对边缘104进行超采样来产生用于着色器的样本。着色器可以是以较高频率进行采样(以便在边缘104的两侧上运行)来在与边缘104相关的像素上运行的像素着色器。
此处描述的***100和其他实施例采用超采样以及用于计算与特征边缘的距离或贝塞尔求值的方法。为了避免遗漏一些特征,该技术创建少数超样本(例如,三个或四个样本)的某一超采样,这可基于超样本的数量相应地减慢过程。例如,当使用四个超样本时,该过程可减慢四倍,并且它自身没有足够质量来在用户界面(UI)中渲染。然而,这对拾取细小特征是足够质量的。换言之,通过稍微超采样,可在细小边缘的两侧产生样本,这使得细小特征可被某一像素检测到。既然细小特征命中了某一像素,质量将由与边缘的距离的方法来实现。例如,该技术可结合与边缘的距离的方法四倍超采样,从而在那里产生另外四个样本,导致16样本结果,该结果通过使用像素着色器来增强质量而看上去良好。
可通过在GPU中使用超采样以及一个或多个着色器来在GPU中完全地采用***100以便产生额外的样本。可以理解,替换实现采用其中在硬件解决方案中采用软件的FPGA(现场可编程门阵列)技术。一般而言,一种方法提供了改变像素着色器对每一像素运行的次数的能力(可通过利用多样本缓冲区来帮助)。
更具体地,为了提供更广泛的使用,所公开的方法复制顶点着色器中的贝塞尔信息并且基于该贝塞尔信息取多个样本,而不是在像素着色器中计算距离,其中“复制”包括将位置复制并且调整到顶点着色器中不同的采样点,并且随后像素着色器对多个坐标进行贝塞尔求值。距离函数从像素着色器中移除;贝塞尔信息在顶点着色器中的不同位置浮置,并且更容易地在像素着色器中求值。抗混叠计算从每一像素移至每一顶点。
图2示出了根据所公开的体系结构的更详细的图形处理***200。***200包括用于对图像108(场景)中的对象106的边缘104进行采样来分辨几何信息的采样组件102。***200还包括用于通过计算抗混叠采样信息112来增强图像108的质量的质量组件110。
***200可进一步包括用于将三角数据生成为纹理信息、对边缘104的各侧进行超采样并且将超样本转换成纹理信息的三角测量组件202。着色器组件204可包括便于贝塞尔路径的最终路径光栅化的一个或多个着色器。例如,着色器组件204可包括用于基于细小特征的超采样的方面来计算偏移纹理单元的顶点着色器,用于使用该偏移纹理单元来执行附加采样的像素着色器,以及用于对场景进行降采样来产生最终场景结果的降采样着色器。
该方面可以是细小特征的边缘,该边缘有1像素宽。像素着色器以较高频率运行来捕捉细小几何特征。顶点着色器所计算的偏移纹理单元被用作抗混叠采样信息。三角测量组件202可基于应用于细小特征的沿贝塞尔曲线的三角形将三角数据生成为偏移纹理单元。顶点着色器、像素着色器和降采样着色器在CPU上独占地操作以提供贝塞尔路径光栅化。
或者,采样组件102可包括用于对细小特征的边缘进行超采样的像素着色器。
图3示出了GPU路径光栅化的流程框图300。这一过程可以用两个帧***来开始:初始帧***320和随后用于最终渲染的重新绘制的帧***304。与初始帧***302相关联的处理可由CPU来执行,而重新绘制的帧***304可由GPU来执行。
三角测量方法利用三角测量组件202来接收贝塞尔路径描述306(也被称为贝塞尔信息),并且产生具有相关联的贝塞尔坐标的三角测量。对每一像素进行贝塞尔坐标求值。一旦产生,该三角测量现在是可重用的(作为顶点数据),并且可以按不同的缩放因子、变换等被绘制若干次。初始帧***302进行预处理工作,该预处理工作还可以在创作时执行。三角测量组件202的输出是作为或具有纹理单元(或数据)的三角数据308(例如,坐标)。可利用一工具来生成三角测量数据和运行时负载后处理工作。预处理工作产生三角数据,该预处理工作可在计算***(或CPU)上执行。
重新绘制的帧***304是在GPU上所完成且对每帧所执行的工作。重新绘制的帧***304上的工作可以用缩放变换等来动画。三角数据308包括运行(具有抗混叠提示)的顶点着色器310的纹理单元,该顶点着色器310基于变换来复制三角坐标,或者更具体地,基于变换(作为具有抗混叠提示的顶点数据312)来复制贝塞尔项并且将该项传递到像素着色器314(它也可执行附加采样)。像素着色器314随后在316处生成用于场景光栅化的超采样缓冲区。降采样着色器318在320处取得超采样缓冲区内容,并且随后降采样到最终路径(或目标)分辨率。因此,一般而言,该过程将细小特征重新绘制成较大,并且随后用像素着色器重新降采样以产生最终光栅化。
以下是表示用于执行所公开的体系结构的各新颖方面的示例性方法的一系列流程图。尽管出于解释简明的目的,此处例如以流图或流程图形式示出的一个或多个方法被示出并描述为一系列动作,但是可以理解和明白,各方法不受动作的次序的限制,因为根据本发明,某些动作可以按与此处所示并描述的不同的次序和/或与其他动作同时发生。例如,本领域技术人员将会明白并理解,方法可被替换地表示为一系列相互关联的状态或事件,诸如以状态图的形式。此外,并非在一方法中示出的所有动作都是新颖实现所必需的。
图4示出了处理图形的计算机实现的方法。在400处,对图像中的特征的边缘进行过采样来获得几何信息。在402处,基于几何信息来计算抗混叠采样信息作为偏移纹理单元。在404处,使用偏移纹理单元来执行附加采样。在406处,基于附加采样和几何信息来重新绘制场景。在408处,对重新绘制的场景进行降采样以产生最终渲染的结果。
偏移纹理单元可以是从贝塞尔对象所获得的偏移贝塞尔纹理单元。该方法可进一步包括以较高频率运行像素着色器来获得诸如1像素宽的特征等细小特征的样本。该方法可进一步包括运行顶点着色器来计算抗混叠采样信息,以及运行像素着色器来获得附加采样。
图5示出路径光栅化的方法。在500处,在过缩放的渲染目标上启动三角测量。例如,对于过缩放,可将水平和垂直分辨率两者加倍。在502处,在边缘的两侧上运行像素着色器来获得样本。以较高频率运行拾取了一像素宽的线通常所遗漏的样本。在504处,运行顶点着色器来基于当前变换计算用于抗混叠的偏移贝塞尔纹理单元。在506处,运行像素着色器来在像素着色器中基于偏移贝塞尔纹理单元进行附加次数的采样。例如,采用500处的2x2(水平乘以垂直)的过缩放以及504处的四个样本,存在每像素2x2x4=16个样本来用于高质量抗混叠。可在需要时采用其他过缩放和样本。在508处,绘制该场景。在510处,当该场景被绘制以后,在该场景上运行降采样着色器来产生最终渲染的结果。
图6示出了对边缘采样的方法。在600,启动超采样。在602处,为图像特征生成三角形。在604处,每个三角形被分成边缘部和内部。在606处,处理三角形的内部。这可用混叠模式来执行。在608处,对三角形的像素边缘部进行超采样。例如,超采样可被运行到超采样缓冲区中。在610处,使用从超样本所计算的像素来在目的地目标对象中重新绘制边缘三角形。该重新绘制可仅使用在超采样缓冲区中所计算的那些像素为沿边缘的像素执行。在612处,清除超采样缓冲区的内容以供下一帧使用。这可通过将边缘三角形重新绘制到超采样缓冲区以清除内容、重新绘制到背景色例如以避免全部表面清除来实现。
如在本申请中所使用的,术语“组件”和“***”旨在表示计算机相关的实体,其可以是硬件、硬件和软件的组合、软件、或者执行中的软件。例如,组件可以是但不限于,在处理器上运行的进程、处理器、硬盘驱动器、多个(光和/或磁存储介质的)存储驱动器、对象、可执行代码、执行的线程、程序、和/或计算机。作为说明,在服务器上运行的应用程序和服务器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,且组件可以位于一台计算机上和/或分布在两台或更多的计算机之间。词语“示例性”此处可用于表示用作示例、实例或说明。在此被描述为“示例性”的任何方面或设计并不一定要被解释为相比其他方面或设计更优选或有利。
现在参考图7,示出了根据所公开的体系结构的可用于采用生成贝塞尔路径光栅化的GPU的计算***700的框图。为了提供用于其各方面的附加上下文,图7及以下讨论旨在提供对其中可实现该各方面的合适的计算***700的简要概括描述。尽管以上描述是在可在一个或多个计算机上运行的计算机可执行指令的一般上下文中进行的,但是本领域的技术人员将认识到,新颖实施例也可结合其他程序模块和/或作为硬件和软件的组合来实现。
一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构等等。此外,本领域的技术人员可以理解,本发明的方法可用其他计算机***配置来实施,包括单处理器或多处理器计算机***、小型计算机、大型计算机、以及个人计算机、手持式计算设备、基于微处理器的或可编程消费电子产品等,其每一个都可操作上耦合到一个或多个相关联的设备。
所示各方面也可以在其中某些任务由通过通信网络链接的远程处理设备来执行的分布式计算环境中实施。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。
计算机通常包括各种计算机可读介质。计算机可读介质可以是可由计算机访问的任何可用介质,且包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以存储如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字视频盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来存储所需信息并可由计算机访问的任何其它介质。
再次参考图7,用于实现各方面的示例性计算***700包括具有处理单元704、***存储器706和***总线708的计算机702。***总线708向包括但不限于***存储器706的各***组件提供到处理单元704的接口。处理单元704可以是市场上可购买到的各种处理器中的任意一种。双微处理器和其它多处理器体系结构也可用作处理单元704。
***总线708可以是若干种总线结构中的任一种,这些总线结构还可互连到存储器总线(带有或没有存储器控制器)、***总线、以及使用各类市场上可购买到的总线体系结构中的任一种的局部总线。***存储器706可包括非易失性存储器710和/或易失性存储器712(例如,随机存取存储器(RAM))。基本输入/输出***(BIOS)可被存储在非易失性存储器710(例如,ROM、EPROM、EEPROM等)中,其中BIOS是帮助诸如在启动期间在计算机702内的元件之间传输信息的基本例程。易失性存储器712还可包括诸如静态RAM等高速RAM来用于高速缓存数据。
计算机702还包括内置硬盘驱动器(HDD)714(例如,EIDE、SATA),该内置HDD 714还可被配置成在合适的机壳中外部使用;磁软盘驱动器(FDD)716(例如,从可移动磁盘718中读取或向其写入);以及光盘驱动器720(例如,从CD-ROM盘722中读取,或从诸如DVD等其他高容量光学介质中读取或向其写入)。HDD 714、FDD 716、以及光盘驱动器720可分别由HDD接口724、FDD接口726和光盘驱动器接口728连接到***总线708。用于外置驱动器实现的HDD接口724可包括通用串行总线(USB)和IEEE 1394接口技术中的至少一种或两者。
驱动器及相关联的计算机可读介质提供了对数据、数据结构、计算机可执行指令等的非易失性存储。对于计算机702,驱动器和介质容纳适当的数字格式的任何数据的存储。尽管以上对计算机可读介质的描述涉及HDD、可移动磁盘(例如FDD)以及诸如CD或DVD等可移动光学介质,但是本领域的技术人员应当理解,示例性操作环境中也可使用可由计算机读取的任何其他类型的介质,诸如zip驱动器、磁带盒、闪存卡、盒式磁带等等,并且任何这样的介质可包含用于执行所公开的体系结构的新颖方法的计算机可执行指令。
多个程序模块可被存储在驱动器和易失性存储器712中,包括操作***730、一个或多个应用程序732、其他程序模块734和程序数据736。操作***、应用程序、模块和/或数据的全部或部分也可被高速缓存在易失性存储器712中。应该明白,所公开的体系结构可以用市场上可购得的各种操作***或操作***的组合来实现。
用户可以通过一个或多个有线/无线输入设备,例如键盘738和诸如鼠标740等定点设备将命令和信息输入到计算机702中。其他输入设备(未示出)可包括话筒、IR遥控器、操纵杆、游戏手柄、指示笔、触摸屏等等。这些和其他输入设备通常通过耦合到***总线708的输入设备接口742连接到处理单元704,但也可通过诸如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口等其他接口连接。
监视器744或其他类型的显示设备也经由诸如视频适配器746等接口连接到***总线708。适配器746可用于包括例如采样组件102、质量组件110、抗混叠信息112、着色器组件204、顶点着色器310、像素着色器314、降采样着色器318、以及相关联的数据(例如,具有混叠提示312的顶点数据、图像光栅化316、以及最终路径光栅化)。三角测量组件202可用于计算702。
除了监视器744之外,计算机通常包括诸如扬声器、打印机等其他***输出设备(未示出)。
计算机702可使用经由有线和/或无线通信至诸如远程计算机748等的一个或多个远程计算机的逻辑连接在网络化环境中操作。远程计算机748可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等设备或其他常见的网络节点,并且通常包括相对于计算机702描述的许多或所有元件,尽管为简明起见仅示出了存储器/存储设备750。所描绘的逻辑连接包括到局域网(LAN)752和/或例如广域网(WAN)754等更大的网络的有线/无线连接。这一LAN和WAN连网环境常见于办公室和公司,并且方便了诸如内联网等企业范围计算机网络,所有这些都可连接到例如因特网等全球通信网络。
当在LAN连网环境中使用时,计算机702通过有线和/或无线通信网络接口或适配器756连接到LAN 752。适配器756可以方便到LAN 752的有线和/或无线通信,并且还可包括其上设置的用于使用适配器756的无线功能进行通信的无线接入点。
当在WAN连网环境中使用时,计算机702可包括调制解调器758,或连接到WAN 754上的通信服务器,或具有用于诸如通过因特网等通过WAN 754建立通信的其他装置。或为内置或为外置以及有线和/或无线设备的调制解调器758经由输入设备接口742连接到***总线708。在联网环境中,相对于计算机702所描绘的程序模块或其部分可以存储在远程存储器/存储设备750中。应该理解,所示网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。
计算机702可操作来使用IEEE 802标准家族来与有线和无线设备或实体进行通信,这些实体例如是在操作上安置成与例如打印机、扫描仪、台式和/或便携式计算机、个人数字助理(PDA)、通信卫星、任何一件与无线可检测标签相关联的设备或位置(例如,电话亭、报亭、休息室)以及电话进行无线通信(例如,IEEE 802.11空中调制技术)的无线设备。这至少包括Wi-Fi(即无线保真)、WiMax和蓝牙TM无线技术。由此,通信可以如对于常规网络那样是预定义结构,或者仅仅是至少两个设备之间的自组织(ad hoc)通信。Wi-Fi网络使用称为IEEE 802.11x(a、b、g等等)的无线电技术来提供安全、可靠、快速的无线连接。Wi-Fi网络可用于将计算机彼此连接、连接到因特网以及连接到有线网络(使用IEEE 802.3相关介质和功能)。
上面描述的包括所公开的体系结构的各示例。当然,描述每一个可以想到的组件和/或方法的组合是不可能的,但本领域内的普通技术人员应该认识到,许多其他组合和排列都是可能的。因此,该新颖体系结构旨在涵盖所有这些落入所附权利要求书的精神和范围内的更改、修改和变化。此外,就在说明书或权利要求书中使用术语“包括”而言,这一术语旨在以与术语“包含”在被用作权利要求书中的过渡词时所解释的相似的方式为包含性的。

Claims (15)

1.一种计算机实现的图形处理***(100),包括:
用于对图像中的边缘进行采样来解析几何信息的采样组件(102);以及
用于通过计算抗混叠采样信息来增强所述图像的质量的质量组件(110)。
2.如权利要求1所述的***,其特征在于,所述采样组件对所述边缘进行超采样来为着色器产生样本。
3.如权利要求2所述的***,其特征在于,所述着色器是以较高频率进行采样来在与所述边缘相关的像素上运行的像素着色器。
4.如权利要求1所述的***,其特征在于,还包括用于对所述边缘的各侧进行超采样并且将超样本转换成纹理数据的三角测量组件。
5.如权利要求1所述的***,其特征在于,还包括用于计算所述抗混叠采样信息的着色器组件。
6.如权利要求1所述的***,其特征在于,还包括用于对所述图像进行降采样来输出最终光栅化路径的降采样组件,所述图像包括所述边缘。
7.如权利要求1所述的***,其特征在于,所述采样组件和所述质量组件在图形处理单元(GPU)上被采用,使得细小特征通过所述GPU在所述图像中完全地渲染。
8.如权利要求8所述的***,其特征在于,所述方面是所述细小特征的边缘,所述边缘有1像素宽。
9.一种处理图形的计算机实现的方法,包括:
对场景中的特征的边缘进行过采样来获得几何信息(400);
基于所述几何信息计算抗混叠采样信息来作为偏移纹理单元(402);
使用所述偏移纹理单元来执行附加采样(404);
基于所述附加采样和几何信息来重新绘制所述场景(406);以及
对所述重新绘制的场景进行降采样来产生最终渲染的结果(408)。
10.如权利要求9所述的方法,其特征在于,所述偏移纹理单元是从贝塞尔对象所获得的偏移贝塞尔纹理单元。
11.如权利要求9所述的方法,其特征在于,还包括以较高频率运行像素着色器来获得细小特征的样本。
12.如权利要求9所述的方法,其特征在于,还包括运行顶点着色器来计算所述抗混叠采样信息。
13.如权利要求9所述的方法,其特征在于,还包括运行像素着色器来获得所述附加采样。
14.如权利要求9所述的方法,其特征在于,还包括:
为所述特征生成三角形;
将所述三角形分成边缘部和外部;以及
将所述边缘部超采样到超采样缓冲区。
15.如权利要求14所述的方法,其特征在于,还包括:
对于所述边缘部,使用在所述超采样缓冲区所计算的像素来重新绘制所述特征上的边缘三角形;以及
清除所述超采样缓冲区的内容以供下一帧使用。
CN200980128653.5A 2008-07-18 2009-07-16 Gpu贝塞尔路径光栅化 Expired - Fee Related CN102099832B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/175,454 2008-07-18
US12/175,454 US20100013854A1 (en) 2008-07-18 2008-07-18 Gpu bezier path rasterization
PCT/US2009/050886 WO2010009338A2 (en) 2008-07-18 2009-07-16 Gpu bezier path rasterization

Publications (2)

Publication Number Publication Date
CN102099832A true CN102099832A (zh) 2011-06-15
CN102099832B CN102099832B (zh) 2013-08-28

Family

ID=41529950

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980128653.5A Expired - Fee Related CN102099832B (zh) 2008-07-18 2009-07-16 Gpu贝塞尔路径光栅化

Country Status (6)

Country Link
US (1) US20100013854A1 (zh)
EP (1) EP2300984A4 (zh)
JP (1) JP5476378B2 (zh)
CN (1) CN102099832B (zh)
IL (1) IL209404A0 (zh)
WO (1) WO2010009338A2 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103679776A (zh) * 2012-09-12 2014-03-26 富士通半导体股份有限公司 图像处理设备
CN104008558A (zh) * 2013-02-25 2014-08-27 珠海全志科技股份有限公司 贝塞尔曲线光栅化处理方法及***
CN104050619A (zh) * 2013-03-15 2014-09-17 辉达公司 具有共享边缘的模板然后覆盖路径渲染
CN104541305A (zh) * 2012-08-09 2015-04-22 高通股份有限公司 Gpu加速的路径再现
CN105378798A (zh) * 2013-04-29 2016-03-02 微软技术许可有限责任公司 用于几何图形的抗混叠
CN105493150A (zh) * 2013-08-28 2016-04-13 高通股份有限公司 图形处理中的目标独立模板印刷

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8624899B2 (en) 2010-09-27 2014-01-07 Microsoft Corporation Arc spline GPU rasterization for cubic Bezier drawing
US8872838B2 (en) * 2011-09-09 2014-10-28 Microsoft Corporation Primitive composition
US10074159B2 (en) * 2015-12-28 2018-09-11 Volkswagen Ag System and methodologies for super sampling to enhance anti-aliasing in high resolution meshes
CN107818069B (zh) 2016-09-12 2021-10-01 阿里巴巴集团控股有限公司 数据处理方法及***
US10157493B2 (en) * 2017-04-01 2018-12-18 Intel Corporation Adaptive multisampling based on vertex attributes
GB2579114B (en) * 2019-05-31 2021-04-21 Imagination Tech Ltd Controlling rendering operations
GB2579113B (en) 2019-05-31 2021-04-21 Imagination Tech Ltd Rendering optimisation

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040189655A1 (en) * 2003-03-25 2004-09-30 Perry Ronald N. Method and apparatus for rendering cell-based distance fields using texture mapping
CN1674049A (zh) * 2003-09-25 2005-09-28 索尼株式会社 图像处理装置及其方法
US6954211B2 (en) * 2003-06-30 2005-10-11 Microsoft Corporation Hardware-accelerated anti-aliased graphics
CN1698072A (zh) * 2003-03-25 2005-11-16 三菱电机株式会社 对表示一个对象的二维距离场的一个区域进行反锯齿的方法及装置
US7061507B1 (en) * 2000-11-12 2006-06-13 Bitboys, Inc. Antialiasing method and apparatus for video applications
CN101004833A (zh) * 2006-07-27 2007-07-25 威盛电子股份有限公司 用于纹理视讯处理的纹理引擎、图形处理器及方法
CN101065784A (zh) * 2004-11-29 2007-10-31 Arm挪威股份有限公司 计算机图形处理
US20080001964A1 (en) * 2006-06-29 2008-01-03 Spangler Steven J Simplification of 3D texture address computation based on aligned, non-perspective objects

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5293579A (en) * 1992-02-18 1994-03-08 Ray Dream, Inc. Method and apparatus for smoothing jagged edges in a graphics display
US6828983B1 (en) * 2000-05-12 2004-12-07 S3 Graphics Co., Ltd. Selective super-sampling/adaptive anti-aliasing of complex 3D data
US6661424B1 (en) * 2000-07-07 2003-12-09 Hewlett-Packard Development Company, L.P. Anti-aliasing in a computer graphics system using a texture mapping subsystem to down-sample super-sampled images
US6567099B1 (en) * 2000-11-15 2003-05-20 Sony Corporation Method and system for dynamically allocating a frame buffer for efficient anti-aliasing
US6724393B2 (en) * 2001-03-16 2004-04-20 Mitsubishi Electric Research Labs, Inc. System and method for sculpting digital models
US7286138B2 (en) * 2001-05-08 2007-10-23 Microsoft Corporation Discontinuity edge overdraw
US7145577B2 (en) * 2001-08-31 2006-12-05 Micron Technology, Inc. System and method for multi-sampling primitives to reduce aliasing
US6894702B2 (en) * 2002-06-06 2005-05-17 Microsoft Corporation Dropout control in subpixel rendering
US7212205B2 (en) * 2002-11-12 2007-05-01 Matsushita Electric Industrial Co., Ltd. Curved surface image processing apparatus and curved surface image processing method
US7006108B2 (en) * 2003-03-25 2006-02-28 Mitsubishi Electric Research Laboratories, Inc. Method for generating a composite glyph and rendering a region of the composite glyph in image-order
US6967663B1 (en) * 2003-09-08 2005-11-22 Nvidia Corporation Antialiasing using hybrid supersampling-multisampling
US7164430B2 (en) * 2003-09-25 2007-01-16 Via Technologies, Inc. Anti-aliasing line pixel coverage calculation using programmable shader
US7050068B1 (en) * 2003-12-02 2006-05-23 Nvidia Corporation Generation of jittered sub-pixel samples using programmable sub-pixel offsets
EP1728217A1 (en) * 2004-03-12 2006-12-06 Philips Intellectual Property & Standards GmbH Adaptive sampling along edges for surface rendering
US7499600B2 (en) * 2004-05-25 2009-03-03 Nokia Corporation Method for characterizing a digital imaging system
US7239319B2 (en) * 2004-08-27 2007-07-03 Microsoft Corporation Rendering outline fonts
US7348996B2 (en) * 2004-09-20 2008-03-25 Telefonaktiebolaget Lm Ericsson (Publ) Method of and system for pixel sampling
US7916144B2 (en) * 2005-07-13 2011-03-29 Siemens Medical Solutions Usa, Inc. High speed image reconstruction for k-space trajectory data using graphic processing unit (GPU)
US20070070082A1 (en) * 2005-09-27 2007-03-29 Ati Technologies, Inc. Sample-level screen-door transparency using programmable transparency sample masks
US7466314B2 (en) * 2005-10-27 2008-12-16 Microsoft Corporation Resolution-independent surface rendering using programmable graphics hardware
US7564459B2 (en) * 2005-10-31 2009-07-21 Microsoft Corporation Resolution-independent curve rendering using programmable graphics hardware
US7612783B2 (en) * 2006-05-08 2009-11-03 Ati Technologies Inc. Advanced anti-aliasing with multiple graphics processing units
US7924278B2 (en) * 2006-07-28 2011-04-12 Microsoft Corporation Real-time GPU rendering of piecewise algebraic surfaces
US7605825B1 (en) * 2006-10-24 2009-10-20 Adobe Systems, Incorporated Fast zoom-adaptable anti-aliasing of lines using a graphics processing unit
US7683914B1 (en) * 2007-02-12 2010-03-23 Bentley System, Inc. Triangulation based raster image interpolation
US7930653B2 (en) * 2007-04-17 2011-04-19 Micronic Laser Systems Ab Triangulating design data and encoding design intent for microlithographic printing
US8044956B1 (en) * 2007-08-03 2011-10-25 Nvidia Corporation Coverage adaptive multisampling
US8044955B1 (en) * 2007-08-31 2011-10-25 Adobe Systems Incorporated Dynamic tessellation spreading for resolution-independent GPU anti-aliasing and rendering
US7911480B2 (en) * 2007-10-08 2011-03-22 Via Technologies, Inc. Compression of multiple-sample-anti-aliasing tile data in a graphics pipeline
US7868887B1 (en) * 2007-10-18 2011-01-11 Adobe Systems Incorporated Rendering rational quadratic Bézier curves on a GPU
US8553046B2 (en) * 2007-11-09 2013-10-08 Vivante Corporation Thin-line detection apparatus and method
US20090322781A1 (en) * 2008-06-30 2009-12-31 Mikhail Letavin Anti-aliasing techniques for image processing

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7061507B1 (en) * 2000-11-12 2006-06-13 Bitboys, Inc. Antialiasing method and apparatus for video applications
US20040189655A1 (en) * 2003-03-25 2004-09-30 Perry Ronald N. Method and apparatus for rendering cell-based distance fields using texture mapping
CN1698072A (zh) * 2003-03-25 2005-11-16 三菱电机株式会社 对表示一个对象的二维距离场的一个区域进行反锯齿的方法及装置
US6954211B2 (en) * 2003-06-30 2005-10-11 Microsoft Corporation Hardware-accelerated anti-aliased graphics
CN1674049A (zh) * 2003-09-25 2005-09-28 索尼株式会社 图像处理装置及其方法
CN101065784A (zh) * 2004-11-29 2007-10-31 Arm挪威股份有限公司 计算机图形处理
US20080001964A1 (en) * 2006-06-29 2008-01-03 Spangler Steven J Simplification of 3D texture address computation based on aligned, non-perspective objects
CN101004833A (zh) * 2006-07-27 2007-07-25 威盛电子股份有限公司 用于纹理视讯处理的纹理引擎、图形处理器及方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104541305A (zh) * 2012-08-09 2015-04-22 高通股份有限公司 Gpu加速的路径再现
CN104541305B (zh) * 2012-08-09 2017-10-31 高通股份有限公司 Gpu加速的路径再现
CN103679776A (zh) * 2012-09-12 2014-03-26 富士通半导体股份有限公司 图像处理设备
CN104008558A (zh) * 2013-02-25 2014-08-27 珠海全志科技股份有限公司 贝塞尔曲线光栅化处理方法及***
CN104008558B (zh) * 2013-02-25 2017-02-08 珠海全志科技股份有限公司 贝塞尔曲线光栅化处理方法及***
CN104050619A (zh) * 2013-03-15 2014-09-17 辉达公司 具有共享边缘的模板然后覆盖路径渲染
CN105378798A (zh) * 2013-04-29 2016-03-02 微软技术许可有限责任公司 用于几何图形的抗混叠
CN105378798B (zh) * 2013-04-29 2018-01-02 微软技术许可有限责任公司 用于几何图形的抗混叠
CN105493150A (zh) * 2013-08-28 2016-04-13 高通股份有限公司 图形处理中的目标独立模板印刷
CN105493150B (zh) * 2013-08-28 2018-01-16 高通股份有限公司 图形处理中的目标独立模板印刷

Also Published As

Publication number Publication date
CN102099832B (zh) 2013-08-28
JP2011528823A (ja) 2011-11-24
US20100013854A1 (en) 2010-01-21
WO2010009338A3 (en) 2010-04-15
WO2010009338A2 (en) 2010-01-21
IL209404A0 (en) 2011-01-31
EP2300984A4 (en) 2017-04-19
EP2300984A2 (en) 2011-03-30
JP5476378B2 (ja) 2014-04-23

Similar Documents

Publication Publication Date Title
CN102099832B (zh) Gpu贝塞尔路径光栅化
JP6073533B1 (ja) タイルベースのアーキテクチャ上での最適化されたマルチパスレンダリング
AU2013263767B2 (en) Apparatus and method of managing a plurality of objects displayed on touch screen
CN102113303A (zh) Gpu场景构成和动画
KR102475212B1 (ko) 타일식 아키텍처들에서의 포비티드 렌더링
US8773432B2 (en) Triangulation for accelerated multi-resolution rendering of stroked paths
ES2606702T3 (es) Sistema y método para cambiar el tamaño de imágenes digitales
JP5866457B2 (ja) オーバドロー・トラッカを用いたグラフィック処理におけるダイレクト・レンダリングとビニングとの切替
EP3180773B1 (en) Bandwidth reduction using texture lookup by adaptive shading
US7652677B2 (en) Graphics system employing pixel mask
Diepstraten et al. Remote line rendering for mobile devices
CN107533771A (zh) 通过3d模型重建进行网格简化
US9330466B2 (en) Methods and apparatus for 3D camera positioning using a 2D vanishing point grid
Cavin et al. Cots cluster-based sort-last rendering: Performance evaluation and pipelined implementation
CN1763786A (zh) 用于3d中硬件加速的抗图形失真方法
KR20210088588A (ko) 거리 필드 컬러 팔레트
US9858708B2 (en) Convex polygon clipping during rendering
CN107784683A (zh) 四边形化的分层深度图像
CN102339474A (zh) 使用多个执行线程的层合成、呈现和动画
US20080229238A1 (en) Scalable images using bitmaps and vector images
CN104603844A (zh) 减小的位计数多边形光栅化
US8203567B2 (en) Graphics processing method and apparatus implementing window system
JP5864474B2 (ja) 空間を分割してグラフィックスを処理する画像処理装置及び画像処理方法
KR20170005033A (ko) 감소된 픽셀 쉐이딩을 위한 기술
CN104011774A (zh) 用于渲染图像数据的多个剪刀平面寄存器

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150429

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150429

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

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: 20130828

Termination date: 20190716