描述了以可完全在图形处理单元(GPU)上运行的形式表达场景构成和动画的体系结构。该体系结构将保留图形信息(例如,场景图形和动画信息)存储为纹理信息,并且使用着色器(例如,顶点和像素着色器)来对时间信息求值、对动画求值、对变换求值,以及光栅化路径。另外,体系结构提供了计算动画位置并且完全在GPU上重新绘制而无需每一图元的CPU干预的能力。
【技术实现步骤摘要】
【国外来华专利技术】GPU场景构成和动画
技术介绍
随着应用程序和数据变得更多样,计算设备和系统的中央处理单元(CPU)处理更 多复杂的处理器正处于越来越大的压力之下。作为响应,供应商为诸如信号处理、图形处 理、工业控制系统之类的特定应用程序设计并且提供专用处理器。利用计算机图形的许多应用程序可对CPU的图形处理有非常的要求。在大多数图 形应用程序中处理被共享,其中某些工作使用CPU来执行,而某些工作被传递给图形处理 单元(GPU)。传统地,机器图形在CPU上实现。现在供应商正设计CPU上越来越多的存储器 和处理能力。与此同时,计算供应商正通过实现多核CPU部分地解决这一问题。在现代用户界面情形中,场景中可视元素的数量正在增加。具有产生10000到 50000个可视元素的应用程序并不少见。针对这样的情形来产生快速显示和动画是有挑战 性的。GPU计算将基于CPU的图形计算改进成具有更显著的并行性、更好的存储器带宽、以 及图形操作的专用硬件。然而,传统GPU被限制为图形处理组件。概述下面提供了简化的概述,以便提供对此处所描述的一些新颖实施例的基本理解。 本概述不是详尽的概述,并且它不旨在标识关键/重要元素或描绘本专利技术的范围。其唯一 的目的是以简化形式呈现一些概念,作为稍后呈现的更详细描述的序言。所公开的体系结构以可完全在图形处理单元(GPU)上运行的形式表达了场景构 成和动画。体系结构将场景图形和动画信息存储为纹理信息,并且使用着色器(例如,顶点 和像素着色器)来对时间信息求值、对动画求值、对变换求值,以及光栅化路径。换言之,所 公开的是在纹理中存储动画信息和分层场景图形信息的能力。另外,体系结构提供了计算 动画位置并且完全在GPU上重新绘制而无需每一图元的CPU干预的能力。为了为实现上述及相关目的,本文结合下面的描述和附图来描述某些说明性方 面。这些方面指示了可以实践本文所公开的原理的各种方式,所有方面及其等效方面旨在 落入所要求保护的主题的范围内。结合附图阅读下面的详细描述,其他优点和新颖特征将 变得显而易见。附图简述附图说明图1示出了用于在GPU上处理场景和动画信息的图形处理系统。图2示出了用于经由GPU处理场景和动画信息的图形处理系统的更详细的示例。图3示出了用于在GPU上提供场景构成和动画的流程/框图。图4示出了处理图形的方法。图5示出了在GPU上处理场景构成和动画的方法。图6示出了为图5的方法中的每一帧进行附加处理的方法。图7示出了根据所公开的体系结构的可用于在GPU上执行保留图形信息的计算系 统的框图。详细描述所公开的体系结构采用通用场景图形API系统,并且把经由图形处理单元(GPU)所执行的工作在栈中向上移动更高,以便使场景图形本身存储在视频存储器中并且由GPU 来求值,并且也使动画系统存储在纹理存储器中并且由GPU来求值。这减少了每一元素 的CPU成本。例如,对于每一元素的CPU成本,考虑一百万个元素。在传统方法中,存在对 一百万个元素中的每一个进行重申以及执行渲染处理的某些CPU工作。随后,GPU执行该 渲染过程的某一其他部分。尽管此处描述的实现使用基于较常见的着色器的计算模块,但该体系结构还可使 用通用计算模块来实现,该通用计算模块针对GPU,并且不是基于经典图形管道着色器模 块,并且采用合适的API。在所公开的体系结构中,场景图形中的元素数量从CPU工作的观点来看是不重要 的。可以存在CPU完成调用驱动程序以作出一定数量的绘制调用。然而,配置了场景图之 后,场景处理不利用每一元素的CPU工作。每一图元的工作由GPU来执行,这导致可缩放性 高的若干数量级。对实时动画的传统限制可以是涉及CPU工作的1,000或10,000个元素。 在将该工作卸载到GPU时,例如可涉及100,000至500,000个元素。因此,基于GPU中的并 行处理能力来实现若干数量级的可缩放性改进。通过卸载场景图形和动画系统,可从GPU 的并行性能力中获得好处,由此按照每一帧可绘制的图元数量来实现高得多的缩放。现在将参考附图,全部附图中相同的附图标记用于表示相同的元件。在下面的描 述中,为了进行说明,阐述了很多具体细节以便提供对本专利技术的全面理解。然而,显而易见, 可以没有这些具体细节的情况下实施各新颖实施例。在其它情况下,以框图形式示出了公 知的结构和设备以便于描述它们。本专利技术将涵盖落入所要求保护的主题的精神和范围内的 所有修改、等效方案和替换方案。图1示出了用于在GPU上处理场景和动画信息的图形处理系统100。系统100包 括用于将保留图形信息104转换成保留图形纹理信息106的纹理组件102,以及用于完全经 由GPU来对保留图形纹理信息106求值的着色器组件108。着色器组件108可包括例如用于对场景图形变换和光栅化路径求值的一个或多 个像素着色器、一个或多个顶点着色器、一个或多个几何着色器、和/或一个或多个流处理 器。保留图形纹理信息106可包括存储为纹理信息的定时信息、存储为纹理信息的位置信 息、和/或存储为纹理信息的动画信息。着色器组件108包括用于组成变换分层的多级的 像素着色器、以及用于将变换应用于几何的顶点着色器。图2示出了用于经由GPU 202处理场景和动画信息的图形处理系统200 (例如,到 主板的子卡,集成在主板上,等等)的更详细的示例。图形处理系统200可进一步与存储器 子系统204相关联,该存储器子系统用于存储与图形处理相关联的程序和数据。存储器子 系统204可表示仅供GPU使用的分立存储器、或还与CPU相关联的存储器。例如,存储器子 系统204可包括保留图形信息104作为到纹理组件102的输入以创建(存储)保留图形纹 理信息106。如图所示,保留图形纹理信息106包括时间信息206、动画信息208、以及变换 信息210。纹理组件102将保留图形信息104存储(或创建)在纹理数据中作为保留图形 纹理信息106,从而导致时间纹理信息212、动画纹理信息214、以及变换纹理信息216。GPU 202还可包括用于对保留图形纹理信息106进行着色器处理以便输出所需效 果的着色器组件108。着色器组件108被示为当用户可能需要使用合适的协议和指令时, 为一个或多个像素着色器218、一个或多个顶点着色器220、一个或多个几何着色器222、以及其他着色器提供着色器处理。采用一个或多个像素着色器218、一个或多个顶点着色器 220、一个或多个几何着色器222等来处理时间纹理信息212、动画纹理信息214和变换纹理 信息216。这将在下文中详细地描述。注意到图形处理系统200还包括用于向其中实现GPU体系结构的主板处理(例 如,CPU)、其他客户机器或设备提供输入和输入处理等的其他组件和功能224。换言之,图形处理系统200可包括用于将保留图形信息104转换成保留图形纹理 信息106的GPU 202中的纹理组件102,以及用于将时间信息求值为时间纹理信息的GPU 202的像素着色器218中的一个,以及用于将变换构成求值为变换纹理信息的GPU 202的顶 点着色器220中的一个或多个和像素着色器。保留图形纹理信息106包括时间纹理信息212、动画纹理信息214、以及变换纹理 信息216,所有这些信息都完全在GPU 2本文档来自技高网...
【技术保护点】
1.一种图形处理系统(100),包括:纹理组件(102),所述纹理组件用于将保留图形信息转换成保留图形纹理信息;以及着色器组件(108),所述着色器组件用于完全在图形处理单元(GPU)上对所述保留图形纹理信息求值。
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:A·米哈尔,
申请(专利权)人:微软公司,
类型:发明
国别省市:US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。