当前位置: 首页 > 专利查询>辉达公司专利>正文

用于分块式延期着色的系统、方法和计算机程序产品技术方案

技术编号:10212986 阅读:159 留言:0更新日期:2014-07-12 21:54
提供用于分块式延期着色的系统、方法和计算机程序产品。在操作中,识别与至少一个场景相关联的多个光子。进一步地,识别与至少一个场景相关联的多个屏幕空间像素块。另外,针对多个光子中的每一个识别能够由效应球面的投影所影响的多个屏幕空间像素块中的每一个。此外,选择从其计算着色的与屏幕空间像素块中的每一个相关联的至少一个光子子集。此外,利用所选择的至少一个光子子集计算用于至少一个场景的着色。

【技术实现步骤摘要】
用于分块式延期着色的系统、方法和计算机程序产品优先权声明本申请要求享有于2012年12月21日提交的第61/745,264号美国临时申请的优先权,其整体内容通过援引并入本文。
本专利技术涉及图形处理,并且更具体地,涉及在图形处理的上下文中的着色。
技术介绍
在图形处理中,在诸如视频游戏的实时应用的上下文中,高效地对已经散射在多个表面的光进行渲染是非常理想的。光子映射被已知为用于离线渲染中的间接照明的一致估计量(consistent estimator)。光子映射不仅擅于对用于许多其他渲染方法的缓慢收敛的焦散路径进行采样,而且很好地对低频光滑和漫射相互反射进行估计并且出奇地易于实现。用来对复杂场景进行最终实时渲染的光子映射的许多变体已经被提出并且甚至已经以交互速率在有限的场景上进行了展示。结合该算法进步,GPU现在足够强大以使得可在实时渲染系统中实现光子映射。然而,一个当前的挑战就是在于现代GPU上高效地缩放的同时维持质量。光子映射包括两个步骤:沿着来自光源的光线追踪光子以及估计起因于散射在可见表面的那些光子的辐射度(radiance)(即“着色”)。高效的并行光线追踪硬件和软件系统能够每秒追踪数亿光线并且过程可以分摊在多个帧上。因此,现有系统满足光子追踪所需要的性能。这些系统的净性能典型地取决于高效的光子着色。因此,存在对于解决与现有技术相关联的这些和/或其他问题的需求。
技术实现思路
提供用于分块式(tiled)延期着色的系统、方法和计算机程序产品。在操作中,识别与至少一个场景相关联的多个光子。进一步地,识别与至少一个场景相关联的多个屏幕空间像素块。另外,针对多个光子中的每一个识别能够由效应球面(effect sphere)的投影所影响的多个屏幕空间像素块中的每一个。此外,选择从其计算着色的与屏幕空间像素块中的每一个相关联的至少一个光子子集。此外,利用所选择的至少一个光子子集计算用于至少一个场景的着色。【附图说明】图1示出了根据一个实施例的、用于分块式延期着色的方法的流程图。图2示出了根据一个实施例的并行处理单元(PTO)。图3示出了根据一个实施例的、图2的流多处理器。图4A示出了根据另一个实施例的、用于分块式延期着色的方法的流程图。图4B示出了根据另一个实施例的、用于分块式延期着色的方法的流程图。图5示出了根据一个实施例的、利用分块式延期着色实现方案所创建的图像。图6示出了在其中可以实现各先前实施例的各种架构和/或功能性的示例性系统。【具体实施方式】图1示出了根据一个实施例的、用于分块式延期着色的方法100的流程图。如在操作110中所示的,识别与至少一个场景相关联的多个光子。在一个实施例中,与至少一个场景相关联的多个光子可以与光子映射过程相关联。例如,光子可以是包括沿着来自一个或多个光源的光线对光子进行追踪以及对起因于散射在可见表面的那些光子的辐射度进行估计的过程的一部分。此外,在操作120中,识别与至少一个场景相关联的多个屏幕空间像素块。在一个实施例中,与至少一个场景相关联的多个屏幕空间像素块可以包括与场景相关联的多个像素。例如,屏幕空间像素块可以包括η X η阵列的像素,其中η是大于I的整数。如在操作130中所示的,针对多个光子中的每一个识别能够由效应球面的投影所影响的多个屏幕空间像素块中的每一个。在本描述的上下文中,光子的效应球面是指能够影响与其相关联的像素和/或像素块的影响球面。在一个实施例中,可以将每个光子的拷贝插入将包含该光子的效应球面的投影的每个屏幕空间像素块中(或与其相关联,等)。在另一个实施例中,可以将每个光子的拷贝放置在与光子能够影响的多个屏幕空间像素块相对应的存储桶(bucket)中。在另一个实施例中,可以将指向每个光子的指针插入能够包含该光子的效应球面的投影的每个屏幕空间像素块中(或与其相关联,等)。在又一个实施例中,可以将每个光子的拷贝或者指向每个光子的指针插入能够包含光子的效应球面的投影的每个屏幕空间像素块中。此外,在一个实施例中,可以识别与屏幕空间像素块相关联的一个或多个组块(chunk)的光子用于处理。例如,在像素块中的光子比存储器能容纳的光子多的情况下,可以实现在像素块上的多个通道,在每个通道中处理像素块中的光子组块。另外,在一个实施例中,可以剔除不和与多个屏幕空间像素块相关联的预定义深度范围相交的、与多个屏幕空间像素块相关联的光子。例如,在一个实施例中,在将光子分类到像素块中的过程期间,分块式算法可以起到剔除不与像素块内的屏幕的深度范围相交的光子的作用。如进一步所示的,在操作140中,可以选择从其计算着色的与屏幕空间像素块中的每一个相关联的至少一个光子子集。在一个实施例中,选择从其计算着色的与屏幕空间像素块中的每一个相关联的光子子集可以包括对多个屏幕空间像素块中的每一个中的所有像素进行迭代。在另一个实施例中,选择从其计算着色的与屏幕空间像素块中的每一个相关联的光子子集可以包括对多个屏幕空间像素块中的每一个中的所有像素进行迭代并且选择从其计算着色的屏幕空间像素块中的每一个中的光子子集。此外,在一个实施例中,选择从其计算着色的与屏幕空间像素块中的每一个相关联的光子子集可以包括选择与屏幕空间像素块中的每一个相关联的所有光子(即不仅是子集,等)。此外,在一个实施例中,可以利用随机过程来选择从其计算着色的与屏幕空间像素块中的每一个相关联的光子子集。例如,在一个实施例中,可以在每个像素处独立地随机选择光子子集。在又一个实施例中,可以利用交错过程来选择从其计算着色的与屏幕空间像素块中的每一个相关联的光子子集。如在操作150中所示的,利用所选择的光子子集为至少一个场景计算着色。在一个实施例中,计算着色可以包括在与至少一个场景相关联的每个像素处重建平滑着色。此夕卜,在一个实施例中,计算着色可以包括从邻域像素值在与至少一个场景相关联的每个像素处重建平滑着色。此外,在一个实施例中,计算着色可以包括利用侧(lateral)滤波器。当然,在各实施例中,可以利用关于边缘的任何数目的滤波器来计算着色。还有就是,在一个实施例中,方法100可以包括渲染至少一个场景。现在将就各可选架构和特征来阐述更多示例性的信息,根据用户的期望可以采用或不采用所述架构和特征来实现前述的框架。应该特别注意下面的信息出于示例性的目的而阐述并且其不应该被认为是以任何方式进行限制。下面特征中的任何一个可以可选地合并,排斥或无需排斥所述的其他特征。图2示出根据一个实施例的并行处理单元(PTO)200。虽然本文提供并行处理器作为PPU200的示例,但应特别注意的是,这类处理器仅出于示例性目的而阐述,并且可出于相同目的采用任何处理器以对其进行补充和/或替换。在一个实施例中,PPU200包括X个流多处理器(SM) 250并且配置为在SM250 (X)中的两个或更多个中并发地执行多个线程。线程(即执行的线程)是在特定SM250内执行的指令集的实例化。下文结合图3更详细描述的每个SM250可包括但不限于一个或多个处理核心、一个或多个加载/存储单元(LSU)、一级(LI)高速缓存、共享存储器等。在一个实施例中,PPU200包括输入/输出(I/O)单元205,其配置为通过系统总线202传送和接收来自中央处理单元(CPU本文档来自技高网...

【技术保护点】
一种方法,包括:识别与至少一个场景相关联的多个光子;识别与所述至少一个场景相关联的多个屏幕空间像素块;针对所述多个光子中的每一个识别能够由效应球面的投影所影响的所述多个屏幕空间像素块中的每一个;选择从其计算着色的与所述屏幕空间像素块中的每一个相关联的至少一个光子子集;以及利用所选择的至少一个光子子集为所述至少一个场景计算着色。

【技术特征摘要】
2012.12.21 US 61/745,264;2013.08.30 US 14/015,9551.一种方法,包括: 识别与至少一个场景相关联的多个光子; 识别与所述至少一个场景相关联的多个屏幕空间像素块; 针对所述多个光子中的每一个识别能够由效应球面的投影所影响的所述多个屏幕空间像素块中的每一个; 选择从其计算着色的与所述屏幕空间像素块中的每一个相关联的至少一个光子子集;以及 利用所选择的至少一个光子子集为所述至少一个场景计算着色。2.如权利要求1所述的方法,其中计算所述着色包括在与所述至少一个场景相关联的每个像素处重建平滑着色。3.如权利要求1所述的方法,其中计算所述着色包括在与所述至少一个场景相关联的每个像素处从 邻域像素值重建平滑着色。4.如权利要求1所述的方法,其中计算所述着色包括利用侧滤波器。5.如权利要求1所述的方法,其中选择从其计算着色的与屏幕空间像素块中的每一个相关联的所述至少一个光子子集包括对所述多个屏幕空间像素块中的每一个中的所有像素进行迭代。6.如权利要求1所述的方法,其中选择从其计算着色的与屏幕空间像素块中的每一个相关联的所述至少一个光子子集包括对所述多个屏幕空间像素块中的每一个中的所有像素进行迭代并且选择从其计算着色的屏幕空间像素块中的每一个中的光子子集。7.如权利要求1所述的方法,其中选择从其计算着色的与屏幕空间像素块中的每一个相关联的所述至少一个光子子集包括选择与所述屏幕空间像素块中的每一个相关联的所有光子。8.如权利要求1所述的方法,其中利用随机过程来选择从其计算着色的与所述屏幕空间像素块中的每一个相关联的所述至少一个光子子集。9.如权利要求1所述的方法,其中利用交错过程来选择从其计算着色的与所述屏幕空间像素块中的每一个相关联的所述至少一个光子子集。10.如权利要求1所述的方法,进一步包括将每个光子的拷贝插入将包含特定光子的效应球面的投影的每个屏幕空间像素块中。11.如权利要...

【专利技术属性】
技术研发人员:摩根·麦圭尔麦克尔·托马斯·马拉大卫·帕特里克·利布基雅各布·潘塔莱奥尼
申请(专利权)人:辉达公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1