用于进行渲染的系统、方法和计算机可读介质技术方案

技术编号:21117418 阅读:18 留言:0更新日期:2019-05-16 09:30
本公开的实施例涉及用于进行渲染的系统、方法和计算机可读介质。渲染系统将点采样和体积采样操作进行结合来产生渲染输出。为了确定3D场景内的曲面位置的颜色信息,在该曲面位置周围的体积内进行点采样操作,并且在距离该曲面位置更远处进行体积光传输数据的采样操作。在点采样与体积采样之间提供过渡区,在其中进行点采样操作和体积采样操作。在确定该曲面位置的颜色信息中混合从点采样与体积采样操作获得的数据。为了对另一曲面与光线之间的有待着色的相交进行标识,通过针对每个点样本对该光线进行追踪来获得多个点样本,并且从嵌套的3D体积元素栅格获得多个体积样本,这些栅格表达了不同粒度等级下的光传输数据。

System, Method and Computer Readable Media for Rendering

【技术实现步骤摘要】
用于进行渲染的系统、方法和计算机可读介质相关申请引用本申请是申请号为201410096436.5、申请日为2014年3月14日、专利技术名称为“使用点采样和预计算光传输信息进行的渲染”的专利技术专利申请的分案申请。
以下涉及来自虚拟3D场景的渲染。
技术介绍
使用光线追踪对来自3D场景的图像进行渲染是基于对渲染方程进行求值,渲染方程包括对不同光行为进行建模的多个嵌套积分,并且难于对其进行分析求解。因此,可以使用对这些方程进行求值的非分析方法。一套逼近渲染方程的成功方法是使用采样技术。在多个可以随机地确定的离散值下对积分进行求值以从样本得出积分的概率性估值。
技术实现思路
在一个方面中,混合渲染系统使用光线追踪和体积地散布在3D空间内的光传输数据的采样。例如,一种用于在来自虚拟3D场景的渲染中使用的方法包括在一个方向上从3D场景的一个点直到过渡区的最大距离对光线进行追踪。如果针对该光线,没有在比过渡区的最小距离更近的距离处检测到相交,则该方法使圆锥截面沿着光线的方向前进穿过3D场景中的3D体积元素栅格。每个体积元素与表示传播通过该体积元素的曲面的光能量的数据相关联。基于扩展因数和3D场景中的点到当前采样点的距离确定前进的圆锥截面的面积。在前进过程中从与圆锥截面相交的体积元素收集光能量数据,并且针对3D场景中的该点自从体积元素收集的光能量中产生光照信息。在一些方面中,多种方法可以让用于每条发射光线的圆锥体(其对圆锥截面进行定义)前进。每个圆锥体可以沿着对应光线的方向轴向地定中心。圆锥体可以在距离光线原点最小距离处开始前进,并且可以根据光线的特征确定该最小距离。在圆锥体前进过程中访问对光能量传播进行描述的数据。这种数据可以表达与从对应体积元素传播的光能量相关联的方向和强度数据。这种光能量可以包括源自体积元素的光和传播通过该体积元素的光(并且可以根据这种体积元素内包含的对象的特征对光进行修改)。例如,每个3D栅格元素可以是一个立方体,并且该立方体的每个面可以具有光方向以及与光方向相关联的强度数据。给定栅格的每个立方体包含一个体积,该体积包含在一个或多个更大的栅格元素(最大元素除外)内。更细粒度的元素展示3D场景中的更小的体积并且更精确地展示光方向和颜色强度数据,因为较粗粒度的元素包括多个更细粒度元素的方向和颜色强度数据的混合。可以通过对来自每个光源的一条或多条光线进行正向追踪并根据正向追踪的结果将离散的光能量记录存放在3D场景中来产生光传输数据。例如,正向追踪可以对3D场景中的几何体之间与正向追踪光线之间的相交进行检测,并且其可以引起存放具有根据该曲面的特征确定的特征的光能量记录。在将这些光能量记录存放在该场景内之后,可以根据将表达该数据所用的一种或多种特定格式来处理这些记录。这些光能量记录还可以用于多种目的,包括提供光子地图供光子查询中使用。另一方面涉及一种用于为3D渲染提供全局光照数据。该系统包括光能量记录的集合,其中每条记录在3D场景中具有一个位置并且包括与3D场景的一部分中的光能量传输相关的数据。该系统包括一个可操作用于接收对3D场景的子部分进行定义的查询的查询解析器,光能量传输数据将返往该子部分。该查询解析器可操作用于搜索光能量记录集合以对该3D场景的子部分内的记录进行标识和将抽象过程应用于所标识的记录上以便为查询产生抽象结果,并返回该抽象结果。例如,可以将该抽象结果返回至在处理器上执行的着色程序模块。该着色程序模块可能已经发出该查询。可以通过固定或有限功能电路实现该查询解析器,该电路被耦合用于在着色过程执行的过程中从执行机器代码的处理器接收对解决方案的查询,该机器代码使用来自这些查询的结果。该抽象过程会涉及到将多个抽象函数应用到所标识的记录上,其中,该多个抽象函数中的每个抽象函数将不同的相对权重集合应用到所标识的记录上。可以针对对应的预先确定数量的记录对该多个抽象函数中的每个抽象函数进行调谐。该抽象过程会涉及到对所标识的多个记录进行计数,并当所计数的标识记录数量在那两个抽象过程的记录的对应的预先确定数量之间时在两个抽象过程的结果之间进行内插。可以用能够配置有从多个预定义程序之间选定的程序的程序执行单元来实施查询解析器,以实施抽象过程。查询解析器可以可操作用于使用定义的步长来执行光线的前进。查询解析器中的执行单元可以可配置用于沿着该前进在每个点处对函数进行求值。可以通过对有待前进的光线进行定义的光线数据结构来对该函数进行标识。可以通过有待使光线前进所在的包围体内的几何体对该函数进行标识。查询可以包括方向指示,并且查询解析器可以使用该方向指示来对光能量记录中的光能量传输的方向进行比较,并排除不符合该查询中的方向指示的记录。查询解析器可以基于到查询所定义的轨迹(locus)的相对距离来产生所标识的记录的排序。查询解析器可以将加权函数应用到每条记录上,该加权函数使用该记录在排序中的位置来确定有待应用到该记录中的光能量传输数据上的权重。查询可以包括一个参数,并且查询解析器可以可操作用于根据该查询内的参数来对抽象过程进行配置。查询可以包括一个对该查询的查询解析器有待应用的(从多个预定义抽象过程中选出的)抽象过程进行的指示。查询可以具有用于有待在为所标识的每条记录生成相对加权重中使用的函数的信息,以便产生抽象结果。例如,该查询可以选择一个多项式和用于该多项式的系数,其中,当以来自该查询中指定的轨迹的递增距离顺序对记录进行标识时,则递增地对该多项式进行求值。本披露的各方面涉及通过这种查询解析器实施的方法和通过结合了这种查询解析器的系统实施的方法。附图说明图1描绘了使用光线追踪和体积渲染输入的混合渲染系统的各组件;图2和图3描绘了使用体积元素的栅格来定位3D空间中的光能量表征信息的各方面;图4描绘了可以用于在3D场景中对光线进行追踪的几何体加速结构;图5至图7描绘了体积元素栅格内的混合光线追踪和圆锥体前进的示例的2D视图;图8描绘了一种产生包含光能量表征信息的体积元素栅格的示例方法;图9和图10描绘了混合光线追踪和体积光能量估算的示例方法,例如用于确定用于3D场景中的多个点的着色信息或正在产生的渲染的像素;图11描绘了图9和图10的更多特定示例的进一步概括;图12描绘了一个处理系统的示例,在其中可以实现所披露的各方面;图13描绘了一种示例查询解析器系统;图14描绘了位于体积元素内的光能量记录;图15描绘了一种响应于最近的邻近查询而确定记录集合的方法的各方面;图16描绘了可以应用于有待响应于给定查询而确定的记录的数据的多条加权曲线;图17描绘了光记录的递增距离排序,涉及响应于查询而从记录中抽象数据;图18描绘了混合函数,并且查询针对记录集合内的多种不同的记录特征可以具有不同的相对加权或优先性;图19描绘了一种用于查询解决的示例系统,该系统具有多个查询解析器,每个查询解析器可以具有用于执行指定功能的有限可编程性电路;图20描绘了一种被视为响应于查询而从记录中抽象数据的示例过程;图21描绘了抽象过程的一个示例;以及图22描绘了根据本披露执行查询解决和数据抽象的系统内的示例数据流。具体实施方式光线追踪可以从3D场景清晰度上产生生动且详细的图像,并且可以用来对复杂的光行为和效应进行建模。光线追踪此处用作一种用于为3D场景的本文档来自技高网...

【技术保护点】
1.一种提供全局光照数据以用于从3D场景进行渲染的系统,所述系统包括查询解析器,所述查询解析器被配置为:接收对所述3D场景的子部分进行定义的查询,光能量传输数据将被返回所述子部分,所述查询从在处理器上执行的着色程序模块发出;搜索光能量记录集合,以对所述3D场景的所述子部分内的记录进行标识,其中每个记录具有所述3D场景中的位置,并且包括与在所述3D场景中的部分中的光能量传输有关的数据;以及将抽象过程应用于标识的记录以便为所述查询产生抽象结果,并且向所述着色程序模块返回所述抽象结果,其中所述抽象结果由所述着色程序模块在从所述3D场景进行渲染中使用。

【技术特征摘要】
2013.03.15 US 61/787,7001.一种提供全局光照数据以用于从3D场景进行渲染的系统,所述系统包括查询解析器,所述查询解析器被配置为:接收对所述3D场景的子部分进行定义的查询,光能量传输数据将被返回所述子部分,所述查询从在处理器上执行的着色程序模块发出;搜索光能量记录集合,以对所述3D场景的所述子部分内的记录进行标识,其中每个记录具有所述3D场景中的位置,并且包括与在所述3D场景中的部分中的光能量传输有关的数据;以及将抽象过程应用于标识的记录以便为所述查询产生抽象结果,并且向所述着色程序模块返回所述抽象结果,其中所述抽象结果由所述着色程序模块在从所述3D场景进行渲染中使用。2.根据权利要求1所述的系统,其中所述查询解析器由固定或有限功能电路实现,所述固定或有限功能电路被耦合,以在着色过程的执行期间从执行机器代码的至少一个处理器接收对解决方案的查询,所述机器代码使用来自所述查询的结果。3.根据前述权利要求中任一项所述的系统,其中应用抽象过程包括将多个抽象函数应用于所述标识的记录,其中所述多个抽象函数中的每个抽象函数将不同的相对权重集合应用到所述标识的记录。4.根据权利要求1或2所述的系统,其中应用抽象过程包括对多个标识的记录进行计数,并且当所述标识的记录的计数数目在两个抽象过程的记录的对应的预定数目之间时,在所述两个抽象过程的结果之间进行内插。5.根据权利要求1或2所述的系统,其中所述查询解析器可操作以使用定义的步长执行光线的前进。6.根据权利要求1或2所述的系统,其中所述查询包括方向指示,并且其中所述查询解析器被配置为使用所述方向指示以对所述光能量记录中的光能量传输的方向进行比较,并且排除不符合所述查询中的所述方向指示的记录。7.根据权利要求1或2所述的系统,其中所述查询解析器被配置为基于到由所述查询定义的轨迹的相对距离来产生所述标识的记录的排序。8.根据权利要求7所述的系统,其中所述查询解析器被配置为将加权函数应用于每条记录,所述加权函数使用所述记录在所述排序中的位置来确定要被应用到所述记录中的所述光能量传输数据的权重。9.根据权利要求1或2所述的系统,其中所述查询包括要被针对所述查询的所述查询解析器应用的抽象过程进行的指示,所述抽象过程是从多个预定义抽象过程中选出的。10.根据权利要求1或2所述的系统,其中所述查询包括用于在为所标识的每条记录生成相对权重中使用的函数的信息,以便产生所述抽象结果。11.根据权利要求10所述的系统,其中所述查询包括多项式和所述多项式的系数的选择,其中当记录以来自所述查询中指定的轨迹的递增距离顺序被标识时,所述多项式被递增地求值。12.一...

【专利技术属性】
技术研发人员:L·T·彼得森C·奥兹达斯
申请(专利权)人:想象技术有限公司
类型:发明
国别省市:英国,GB

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

1