渲染设置图的制作方法

文档序号:6540678阅读:124来源:国知局
渲染设置图的制作方法
【专利摘要】提供了一种利用渲染设置图来渲染图像的系统和方法。渲染设置图可用于对用于渲染计算机生成图像的灯光配置数据以及外部过程进行配置和管理。渲染设置图可以包括具有由边缘互连的节点的依赖图,对象和对象配置数据可沿着边缘在节点之间传递。节点可用于提供对象和对象配置数据源,配置对象的视觉效果,分割对象集,调用外部过程,执行图内的数据路由功能,等等。以此方式,渲染设置图可有益地用于对用于渲染图像的配置数据和过程的执行进行组织。
【专利说明】渲染设置图

【技术领域】
[0001]本公开涉及计算机生成动画,尤其涉及利用依赖图(dependencygraph)来渲染计算机生成动画。

【背景技术】
[0002]通常,通过渲染图像序列来创建计算机生成动画,每个图像描绘了由一个或多个计算机生成对象(例如,字符、树、桌子、椅子等)构成的计算机生成场景。光源、材料、纹理以及其它视觉效果可与计算机生成对象相关联以创建用于计算机生成场景的逼真的灯光效果。恰当地实现这些视觉效果会涉及到配置由诸如渲染、明暗处理、光栅化、阴影计算、反射计算、透射计算等多种外部过程所使用的大量数据。管理配置数据和外部过程会由于制作计算机生成动画所需的大量数据和大量过程以及它们之间存在的复杂的相依性而变得困难。
[0003]例如,对于计算机生成动画中的每一次拍摄,电影制作灯光布置通常需要灯光师来配置数十至数千的输出以便由外部过程使用。这些输出可依赖于多个输入,多个输入可依次依赖于其它的输入和/或外部过程。例如,灯光师可能需要选择一个或多个光源(例如,环境光源、点光源、聚光灯等),一个或多个光源用于照亮计算机生成场景以及配置表面着色器以模拟该场景中每个计算机生成对象的每个表面的光学特性(例如,颜色、纹理、反射特性等等)。因此,场景中对象的外观取决于其它因素中的用于模拟该对象的各表面的光学特性的一个或多个光源和外部明暗处理过程的输出。
[0004]由于更多的光源和对象添加到场景中,配置数据和外部处理之间的相依性变得非常复杂。而且,可以使用复杂的灯光配置分配,使得一些灯光配置是在逐对象基础上分配,而其它灯光配置分配给由共享属性标识的对象组。例如,聚光灯可仅与场景前景中的主角相关,使得聚光灯照射主角而不照射场景中的其它对象。场景还可以包括与场景中所有对象相关的环境光。该方法为动画师或灯光师提供了更大的配置场景中视觉效果的灵活性,但是会导致灯光师的工作复杂度增加,因为传统的灯光布置工作流程需要灯光师将外部过程之间的错综复杂的数据相依性提交给存储器。另外,传统的灯光布置工作流程需要灯光师随着场景中的对象被编辑、添加或移除来明确地修改灯光配置,为灯光师产生了大量的工作。
[0005]因此,期望创建对用于渲染计算机生成动画的配置数据和外部过程进行配置和管理的系统。
[0006]发明概述
[0007]描述了用于利用依赖图来渲染图像的过程。一个示例过程可包括:访问依赖图,所述依赖图包括多个互连节点;访问动画对象集;选择动画对象集的子集;选择用于动画对象集的子集的视觉效果;以及基于动画对象集的子集和所选视觉效果来渲染图像。多个互连节点可包括:第一节点,其表示动画对象集;第二节点,其包括用于选择动画对象集的子集的对象属性或配置数据;第三节点,其包括待选择用于动画对象集的子集的视觉效果;以及第四节点,其包括基于动画对象集的子集和所选视觉效果来渲染图像的指令。
[0008]在一些实施例中,选择动画对象集的子集可以包括:从在第二节点的输入处接收到的动画对象集中选择包括对象属性或配置属性的动画对象。对象属性或配置属性可以包括对象名称、对象类型、几何结构名称、零件闽菜、材料或接近特性中的一个或多个。
[0009]在一些实施例中,依赖图可以包括第五节点,第五节点包括执行渲染过程、半透明化过程、明暗处理过程或光栅化过程中的一个或多个的指令。渲染图像可以包括:利用来自渲染过程、半透明化过程、明暗处理过程或光栅化过程中的一个或多个的结果来渲染图像。
[0010]还描述了利用依赖图渲染图像的系统和计算机可读存储媒体。

【专利附图】

【附图说明】
[0011]通过参考结合所附附图进行的下面的说明,能够最佳地理解本申请,其中相似的部件可由相似的标记表示。
[0012]图1示出了根据各个实施方案的可利用渲染设置图生成的示例性的渲染后图像。
[0013]图2示出了根据各实施方案的用于渲染图像的示例性的渲染设置图的操作。
[0014]图3示出了根据各个实施方案的示例性的渲染设置图。
[0015]图4示出了根据各个实施方案的利用渲染设置图来渲染图像的示例性过程。
[0016]图5示出了根据各个实施方案的用于生成渲染设置图的示例性过程。
[0017]图6示出了根据各个实施方案的可用于生成和修改渲染设置图的示例性接口。
[0018] 图7示出了根据各个实施方案的可用于生成和修改渲染设置图的示例性接口。
[0019]图8示出了示例性的计算系统。
[0020]发明详述
[0021 ] 提供了下面的说明书以使本领域普通技术人员能够实现和利用各个实施方案。具体的设备、技术和应用的描述仅作为实施例被提供。对本文所描述的实施例的各种改进对于本领域普通技术人员而言将是显而易见的,并且本文限定的一般性原理可应用于其它实施例和应用,而不偏离本技术的精神和范围。因此,所公开的技术不旨在局限于本文描述和图示的实施例,而是与权利要求相一致的范围相符合。
[0022]为了描述的目的,在本公开全文中,软件、软件模块、软件对象等可描述为执行各种功能。然而,本领域普通技术人员将认识到,软件不会主动地执行任何功能,相反,会包含能够在计算机处理器上执行的指令。因此,虽然本文将软件描述为执行功能,应理解为计算机处理器或其它计算设备通常可通过执行由软件模块或对象提供的计算机指令来实施那些在本文属于软件模块或对象的功能。
[0023]如上所述,计算机生成动画通常是通过渲染图像序列而创建的,每个图像描绘了由一个或多个计算机生成对象构成的计算机生成场景。光源、材料、纹理和其它视觉效果可与计算机生成对象相关联以创建计算机生成场景的逼真视觉外观。为了本文论述的目的,计算机生成场景通常是指可利用虚拟摄像机来拍摄的三维空间,并且还可一般性地称为场旦
-5^ O
[0024]下面描述的各个实施方案涉及到对用于渲染计算机生成图像的灯光配置数据以及外部过程进行配置和管理的渲染设置图。渲染设置图可以包括具有由边缘互连的节点的依赖图,对象以及对象配置可沿着边缘在节点之间传递。例如,节点的输出可包括一个或多个对象以及关联配置数据(或用于一个或多个对象以及关联配置数据的标识符)。节点的输入可包括对另一节点的一个或多个输出的引用,通过引用,节点可以接收对象和对象配置数据。通过这种方式,节点可用于提供对象和对象配置数据源,配置对象的视觉效果,分割对象集,调用外部过程,执行图内的数据路由功能,等等。通过这种方式,渲染设置图可有益地用于对用于渲染图像的配置数据和过程的执行进行组织。
[0025]图1描绘了根据各个实施方案的可利用渲染设置图渲染的示例性的计算机生成图像。注意的是,图1描绘了通过两个动画角色的部分反射和阻挡光源而形成的灯光效果。为了形成该图像,灯光师配置光源、着色器等以生成期望的灯光效果。如之前所论述,传统的灯光布置工作流程需要灯光师将这些灯光配置提交到存储器,使得灯光布置过程成为困难且繁重的任务。
[0026]图2示出了示例性的渲染设置图201的操作,其能够用于对用于渲染图1的计算机生成图像207的灯光配置数据以及外部过程进行配置和管理。渲染设置图201可以从数据库203接收诸如动画对象、对象配置数据等数据,数据库203可以包括由能够通过一个或多个用户访问的一个或多个本地和/或远程计算机存储数据库构成的集中式或分散式计算机存储数据库。利用集中式存储可以提高存储效率并且有助于确保利用计算机生成对象的共同版本来执行计算机生成动画的渲染。
[0027]从数据库203接收到的对象数据可以包括呈代表对象集(例如,人物、植物、建筑物等)的任意格式的数据,可以使用数据来渲染图像。例如,对象数据可以包括对象的表面和/或体积表示、构成对象的零件的标识等等。在一些实施例中,对象集可以包括要显示在图像内的对象以及那些包含在数据库中的不显示在图像内的对象。
[0028]对象配置数据可以包括视觉特性,诸如材料、纹理等,其可与对象的零件的表面相关联。对象配置数据还可以包括对该对象限定的任意数量的“外观”。外观可以包括已指定给对象的表面的视觉特性的特定配置。例如,椅子对象可具有对椅子的每个件分配了松木材料的第一外观以及对椅子的每个件分配了枫木材料的第二外观。可以为每个对象限定任意数量的外观,并且任意数量的外观可包括在由数据库203提供的对象配置数据之内。因此,在一些实施例中,由数据库203提供的数据可以包括配置计算机生成对象集,其中集合中的每个成员代表配置为具有特定外观的对象。
[0029]渲染设置图201可以包括具有由边缘互连的节点的依赖图,对象和对象配置数据可沿着边缘在节点之间传递。节点可用于提供对象和对象配置数据源,配置对象的视觉效果,分割对象集,调用外部过程205,执行图内的数据路由功能,等等。渲染设置图201可以提供对象数据、对象配置数据以及任何其它所需数据给外部过程205。外部过程205的结果可以返回到渲染设置图201。渲染设置图21的评估以及关联的外部过程205的执行可以生成类似于图1所示的计算机生成图像207。
[0030]图3示出了示例性的渲染设置图301的直观表示的更详细的视图,这是可用作图2中的渲染设置图201的一个示例图。通常,渲染设置图301可以从数据库(例如,数据库203)接收对象和对象配置数据作为输入并且可以调用外部过程305以生成计算机生成图像(例如,图像207)。如下文详细说明,渲染设置图301可显示在计算机显示器上并且可利用图形用户接口以及计算机I/O硬件来操纵。通过这种方式,渲染设置图301通常可由动画师、灯光师或其它用户来配置并且可用于对用于渲染计算机生成图像的灯光配置数据以及外部过程进行配置和管理。
[0031]如图3所示,渲染设置图301可包括依赖图,依赖图具有通过边缘互连的一个或多个节点(例如,节点 303、307、309、311、313、315、317、319、321、323 和 325)。节点可执行各种功能,这取决于节点类型。例如,节点可表示数据源,配置对象的视觉效果,分割对象集,调用外部过程,执行图内的数据路由功能,等等。通过节点输出的数据可沿着连接节点的边缘传送到下游节点。
[0032]渲染设置图301可以包括执行任意期望功能的各种类型的节点。可包括在渲染设置图301内的一个示例节点类型是表示待由渲染设置图301使用且可通过类似于或等同数据库203的本地或远程数据库提供的配置计算机生成对象集(例如,对象及其关联的对象配置数据)的对象源节点(例如,节点303),如上文所论述的。在一些实施例中,能够通过用户来分配由源节点表示的配置计算机生成对象集。例如,为了渲染特定图像,用户可以选择渲染设置图301以及利用渲染设置图301来操作的对象集。通过这种方式,渲染设置图301不限于特定的对象集并且能够用于渲染任何期望的图像。
[0033]可选地,对象源节点可以包括标识待由渲染设置图301使用的对象的引用信息。在一些实施例中,对象可由包含那些对象的存储位置的标识来引用。例如,对象源节点可以包括对包含待由渲染设置图301使用的对象的一个或多个本地或远程数据库(例如,数据库203)的引用。通过这种方式,待由渲染设置图301使用的对象可在源数据库中进行添加、删除或修改并且可由渲染设置图301使用,而不必修改渲染设置图301来专门地引用新添加的或修改的对象。在其它实施例中,对象源节点可包括各自地引用待由渲染设置图301使用的对象的唯一标识符。例如,如果每个对象被赋予唯一名称或标识符,则对象源节点可以包括限定待由渲染设置图301使用的对象集的对象名称或唯一标识符的列表。对象源节点可以将引用对象集(以及关联的对象配置数据)沿着一个或多个边缘输出到一个或多个连接节点。例如,对象源节点303可以将包含在数据库203中的对象集以及关联的对象配置数据提供给节点307和309。
[0034]可包括在渲染设置图301内的另一类型的节点是组织者节点(例如,节点307和309),其可用于对在组织者节点的输入处接收到的对象集(以及关联的对象配置数据)进行分割。组织者节点可配置为基于对象或者关联的配置数据的任意一个或多个属性来分割接收到的对象,这些属性诸如为对象名称、对象类型、几何结构名称、零件名称、材料、带基于时间限制(例如,对象的位置被评估的时间值或范围)的接近特性(例如,在摄像机视锥之内的对象、距对象/摄像机的距离、存在于区域内,等等)、带基于时间限制(例如,对象的位置被评估的时间值或范围)的屏幕投射,等等。例如,组织者节点可以包括对具有对象类型“椅子”的所有对象(以及关联的对象配置数据)进行分割的分割标准。因此,在该实施例中,组织者节点对与在组织者节点的输入处接收到的对象集相关联的元数据进行评估并且可以生成包含在由该组织者节点接收到的所有椅子类型对象的对象子集。对于基于时间的限制,组织者节点可配置为使得如果对于整个时间范围满足标准或者如果在该范围内任意时间都满足标准,则满足基于时间的标准。
[0035]在一些实施例中,组织者节点可以对于为该节点限定的每个分割标准生成两个输出。第一输出可以包括满足分割标准的对象子集(其可包括零个、一些或全部的接收对象集),而第二输出可以包括不满足分割标准的对象子集。例如,继续上文提供的实施例,组织者节点307可耦合以从对象源节点303接收包含在数据库203中的对象集。组织者节点307可以配置为包括用于分割具有对象类型“椅子”的所有对象(以及关联的对象配置数据)的分割标准。因此,组织者节点307可以对在组织者节点307的输入处接收到的对象集相关联的元数据进行评估并且在输出A处输出椅子类型对象集。组织者节点307可以进一步在输出B处输出其余对象集(例如,非椅子对象)以及关联的对象配置数据。
[0036]虽然组织者节点308显示为具有两个输出,应当理解的是组织者节点可包括用于为该节点指定的任何附加分割标准的附加输出。另外,应当理解的是,分割标准可以是分级的,意味着一个分割标准可用于对另一分割标准的结果进行分割。例如,组织者节点309可以配置为包括用于分割具有对象类型“植物”的对象的一个分割标准以及用于分割位于场景的限定区域内的植物的第二分割标准。因此,组织者节点309可以在输出C处输出在组织者节点309的输入处接收到的所有植物对象(以关联配置数据),在输出D处输出所有非植物对象(以及关联的对象配置数据),在输出E处输出位于场景的限定区域内的所有植物对象(以及关联的对象配置数据),以及在输出F处输出不位于场景的限定区域内的所有植物对象(以及关联的对象配置数据)。组织者节点307和309的各输出可通过边缘与任意数量的下游节点连接并且可以沿着这些边缘传递其相应的对象子集(以及关联的对象配置数据)。
[0037]基于对象属性和对象配置数据来分割对象有益地允许动画师、灯光师或其它用户选择具有期望特性的对象,而无需用户分别地标识所选对象。这避免了当输入对象集中的对象被修改、添加或删除时修改渲染设置图301的需要。例如,如果附加的椅子对象添加到场景中,则组织者节点307可以标识该新添加的椅子对象并且将其连同之前限定的椅子对象一起在输出A处输出,而无需来自用户的任何额外输入。
[0038]可包含在渲染设置图301内的另一类型的节点是合并节点(例如,节点313),其可用于输出由合并节点接收到的所有输入的集合。例如,合并节点313可以从组织者节点307接收输出B并且从组织者节点309输出C。合并节点313可以将这些对象集组合并且可以输出包括所有B和所有C的对象集。在一些实施例中,合并节点的输入之间的相同对象可被丢弃,使得在输出处仅存在每个对象的一个。在其它实施例中,合并节点的输入之间的相同对象可不丢弃,使得合并节点的输出可包括同一对象的多个实例。
[0039]可包括在渲染设置图301内的另一类型的节点是外观选择器节点,七科用于选择对象的特定“外观”。如上所述,在节点之间传递的对象配置数据可以包括为关联对象限定的外观。例如,椅子对象可以具有将松木外观分配给椅子的每个件的第一外观以及将枫木外观分配给椅子的每个件的第二外观。外观选择器节点可用于选择由节点接收到的一个或多个对象的外观并且可以输出配置为具有所选外观的一个或多个对象。
[0040]例如,节点311可以是外观选择器节点并且可配置为选择从组织者节点307的输出A处接收到的对象的高品质外观。这可以使用,例如,因为从组织者节点307的输出A接收到的对象出现在场景中的前景中,因此应当以更高细节级别显现。外观选择器节点311随后可以以所选的高品质外观将从组织者节点307的输出A接收到的对象输出。
[0041]可以包括在渲染设置图301内的另一类型的节点是光节点,其可分配以照射一个或多个对象并且可配置为使得一些其它对象集由于该光而投影。光节点可对应于一个或多个光源,诸如环境光源、点光源、聚光灯等。光节点可配置为通过作为其输入接收的对象投影。在组织者节点中,光还能够分配以照射一个或多个对象。当这些分配的光源落在它们之上时,这些投影对象随后可以在场景内投影。例如,节点315可以是光节点,其配置为由于落在从组织者节点309的输出F接收到的对象上的点光源而投影。结果,当对象被渲染时,从组织者节点309的输出F接收到的对象可以从与节点315关联的点光源投影。为了分配光源以照射对象,可以使用组织者节点。特别地,光源可与组织者节点相关联并且可分配以照射组织者节点的输出中的一个或多个输出的对象。
[0042]可包含在渲染设置图301中的另一类型的节点是材料节点,其可用于为对象分配材料。材料节点可以将材料分配给整个对象的表面或者仅对象的一部分。例如,材料节点可用于将黄铜材料类型分配给门的门把手或者可用于将橡木材料类型分配给整个椅子。可选地,材料节点可仅表示材料并且可与组织者节点链接。在这些实施例中,组织者节点可进一步配置为将与所链接的材料节点相关联的材料分配给组织者节点的输出中的一个或多个输出。
[0043]可包括在渲染设置图301内的另一类型的节点是映射节点,其可与光节点和材料节点一起使用。映射节点可指定光或材料待使用的纹理,但是不直接分配作为配置的部分。相反,纹理借助映射节点与关联光或材料的节点链接而应用于光或材料。
[0044]包括在渲染设置图301内的另一类型的节点是类属节点,其可用于封装尚未预先限定的过程。这些节点可与通过用户手动输入的命令相关联以通过允许用户执行未通过图明确提供的功能为图提供灵活性。
[0045]包括在渲染设置图301内的另一类型的节点是传递节点(例如,317、321、323和325),其可用于调用外部过程,诸如渲染过程、半透明化过程、明暗处理过程、光栅化过程、阴影化过程、反射过程、透射过程等等。传递节点可以包括利用由传递节点接收到的对象和对象配置数据来执行外部过程的指令。例如,传递节点可以包括对待执行的外部过程的引用并且可以将由传递节点接收到的数据传递到外部过程。传递节点可以在过程执行之后接收外部过程的输出,并且可以依次地将该结果输出到渲染设置图301内的其它节点,或者可以将外部过程的结果作为渲染设置图301的输出而输出。
[0046]例如,节点317可以是配置为调用外部半透明化过程305的半透明化传递节点。因此,节点317可以将对象(以及关联的对象配置数据)传递到外部半透明化过程305并且可以接收该过程的执行的结果。节点317随后可以将外部半透明化过程305的结果输出到渲染设置图301内的另一传递节点321。该传递节点321可以是例如配置为调用外部明暗处理过程305的明暗传递节点。因此,节点321可以将半透明化传递节点317的输出传递到外部明暗处理过程305并且可以接收该过程的执行的结果。明暗处理过程305的结果随后可通过渲染设置图301作为图像207的部分输出。类似地,传递节点323和325的输出可以调用其相应的外部过程205并且可以通过渲染设置图301作为图像207的部分输出。
[0047]虽然上文提供了节点的具体类型,应当理解的是,渲染设置图301可以包括其它类型的节点,诸如分裂器节点、其它路由节点、for循环节点、组节点(代表避免屏幕杂波的两个以上节点),等等。这些其它节点能够与上文论述的结合组合以允许动画师、灯光师或其它用户来配置、记录和可视化待执行的过程以及这些过程与其它过程和配置数据的相依性。而且,虽然上文提供了渲染设置图的具体布置,但是应当理解的是,渲染设置图可以包括以任何配置适当布置的附加的或更少的节点以生成期望的图像或动画。
[0048]利用与上述渲染设置图类似或等同的渲染设置图有益地允许动画师或灯光师来抽象地限定待使用对象,配置这些对象的视觉效果(例如,灯光效果),快速地标识应当更新的脏数据,并且以独立于输入到图中的对象的方式限定待执行过程的流程。另外,渲染设置图为动画师、灯光师或其它用户提供了限定和配置渲染通道而不必工作于整个场景的能力。渲染设置图还可允许动画师、灯光师或其它用户工作于可省略用于最终制作渲染通道的资源密集型视觉效果的场景的简化版本。
[0049]图4示出了示例性的过程400,其利用类似于或等同于上文论述的图301的渲染设置图来渲染图像。在块402处,可以访问渲染设置图。例如,处理器可以访问包括渲染设置图(例如,类似于或等同于渲染设置图201或301的图)的本地或远程数据库,渲染设置图被生成以渲染特定图像或动画。渲染设置图可以包括通过边缘互连的节点,节点限定了待用于渲染过程的对象、用于这些对象的视觉效果的配置以及待对那些对象执行的外部过程。
[0050]在块404处,可以访问动画对象集。还可以访问与对象关联的对象配置数据,诸如对象的视觉特性和外观。在一些实施例中,对象集可由用户限定。例如,为了渲染特定图像,用户可以选择在块402处访问的渲染设置图以及利用该渲染设置图操作的对象集。通过这种方式,渲染设置图不限于特定对象集并且能够用于渲染任意期望图像。用户所选对象可从类似于或等同于数据库203的数据库访问并且在类似于或等同于对象源节点303的一个或多个对象源节点处提供给渲染设置图。
[0051]可选地,对象集可由渲染设置图限定。渲染设置图可以利用类似于或等同于上述对象源节点303的对象源节点来限定待访问对象。在一些实施例中,对象源节点可以包括抽象地限定对象集的一个或多个引用,例如,通过标识对象的一个或多个存储位置。通过这种方式,可以对渲染设置图所使用的对象进行修改、添加或删除,而不必修改渲染设置图。在其它实施例中,对象源节点可以包括通过分别标识对象(例如通过使用唯一标识符)来明确地限定待使用对象的一个或多个引用。根据对象源节点限定对象的方式,处理器可以通过利用对象标识符或位置标识符询问本地或远程数据库来访问对象。例如,如果在块402处访问渲染设置图301,则在块404处要访问的对象集以及关联的对象配置数据可以由对象源节点303限定。在一些实施例中,对象源节点303可以通过将数据库203标识为对象源来抽象地限定待由渲染设置图301使用的对象集。因此,在块404处,可以从数据库203访问对象和关联的对象配置数据。
[0052]在块406处,可以基于渲染设置图来选择在块404处访问的对象集的子集。为了选择或限定待配置子集,类似于或等同于组织者节点307和309的组织者节点可用于基于对象或关联配置数据的任意一个或多个属性来选择性地分割对象的子集,属性诸如为对象名称、对象类型、几何结构名称、零件名称、材料、带基于时间限制的接近特性(例如,在摄像机视锥之内的对象、距对象/摄像机的距离、存在于区域内,等等)、带基于时间限制的屏幕投身寸,等等。
[0053]例如,继续上文提供的实施例,渲染设置图301可以包括通过分割具有对象类型“椅子”的对象来限定由对象源节点303接收到的对象子集的组织者节点307。结果,包含椅子类型对象的对象子集可在组织者节点307的输出A处输出。
[0054]在块408处,可以基于渲染设置图来选择用于在块406处选择的对象集的子集的视觉效果。视觉效果可包括任何类型的视觉效果,诸如外观、关联的光源、纹理、材料等。诸如光节点、材料节点、外观选择器节点和映射节点的节点可用于选择与对象子集相关联的视觉效果(例如,光源、材料特性、外观和纹理)。特别地,由光节点、材料节点、外观选择器节点、映射节点等中的一者接收到的对象集可以分配如该节点限定的视觉效果。在其它实施例中,光节点和材料节点可仅分别代表光源或材料,并且可与组织者节点链接。在这些实施例中,组织者节点可进一步配置为将与所链接节点相关联的材料或光源分配给该对象。结果,对那些对象执行的任何后续处理可利用所选视觉效果来进行。
[0055]例如,继续上文提供的实施例,渲染设置图301可包括组织者节点307,在组织者节点307的输出A处输出包含椅子类型对象的对象子集。该椅子类型对象子集可由节点311接收,节点311可以是配置为用于选择用于在节点输入处接收到的对象的高品质外观的外观选择器节点。结果,对由外观选择器节点311输出的椅子类型对象执行的所有处理可利用高品质外观来执行(假设不存在可改变所选外观的任何中间的外观选择器节点)。
[0056]在块410处,可以基于渲染设置图来渲染计算机生成图像。渲染图像可以包括:基于渲染设置图利用所选视觉效果对对象子集执行一个或多个外部过程。外部过程可以包括动画师、灯光师或其它用户可希望对渲染设置图所使用的对象执行的任何过程,诸如渲染、明暗处理、光栅化、阴影计算、反射计算、透射计算等。在一些实施例中,渲染设置图可以包括类似于或等同于传递节点317、321、323和325的传递节点,其可包括对待执行外部过程的引用。处理器可以利用由这些传递节点接收到的对象和关联配置数据来执行由这些传递节点所引用的过程。然后,处理器可以将传递节点中的一些或全部的输出集合以生成场景的计算机生成图像。
[0057]例如,继续上文提供的实施例,渲染设置图301可以利用传递节点317来引用外部半透明化过程。因此,可以利用基于外观选择器节点311选择的高品质外观对组织者节点307分割的椅子类型对象子集执行所引用的半透明化过程。渲染设置图301进一步包括传递节点321,其可以引用外部明暗处理过程。结果,可利用高品质外观对椅子类型对象子集执行的半透明化过程的结果来执行所引用的明暗处理过程。结果可以是由组织者节点307分割的椅子类型对象子集的高品质明暗处理后表示。该数据可与传递节点323和325的输出组合,传递节点323和325可以分别输出场景中人物和场景背景的表示。处理器可以将这些输出组合以渲染明暗处理后的椅子、人物和背景的图像。
[0058]图5示出了根据各个实施方案的可用于生成渲染设置图的示例性过程500。在块502处,可使得显示用于生成或修改渲染设置图的用户接口。例如,处理器可以使得分别类似于或等同于图6和图7所示的接口 600和700的用户接口显示在监控器或其它显示器设备上。在一些实施例中,用户接口 600/700可以包括第一部分601/701,其用于显示渲染设置图的节点和边缘的直观表示。用户接口还可以包括第二部分603/703,其具有可包括在显示器的第一部分601/701内的一个或多个节点类型的直观表示。节点类型的直观表示可以包括表示诸如组织者节点、传递节点、合并节点、光节点、材料节点、映射节点、外观选择器节点、对象源节点、类属节点等各种节点类型的文本和/或图形。用户接口可以包括任何已知的用于选择对象的模块,诸如下拉菜单、拖放式图标等。
[0059]在块504处,可以接收节点类型的选择。选择可以包括所选节点类型的标识。选择可通过处理器响应于用户在块502处提供的用户接口中的选择而被接收到。可以利用诸如下拉菜单、拖放式图标等用于选择对象的任何已知模块来做出选择。
[0060]在块506处,可以接收在块504处选择的节点类型的目的地的选择。在一些实施例中,目的地可以包括应当显示所选节点类型的显示器的第一部分601/701内的位置。用户可利用任何已知选择模块来做出该选择,诸如在选择节点类型之后点击目的地,将所选节点类型拖曳到目的地,输入目的地的坐标,等等。在一些实施例中,处理器可以接收所选目的地并且可使得所选节点类型的可视化表示显示在与所选目的地对应的用户接口内的位置处。
[0061]在块508处,可以接收用于所选节点类型的一个或多个连接。连接可指示到所选节点类型的一个或多个输入源或者用于所选节点类型的输出的一个或多个目的地。在一些实施例中,通过用户选择一个节点的输出和另一节点的输入,可以选择连接。
[0062]在块510处,在块504处选择的节点类型的直观表示的显示可以通过在块508处接收到的连接显示在与在块506处选择的目的地对应的显示器中的位置处。例如,处理器可以使得在图6和图7中所示的用户接口 600/700的第一部分601/701内直观显示通过线与一个或多个其它节点连接的节点。渲染设置图还可存储以便后续用于利用上述过程400来渲染图像。
[0063]图8示出了能够用于实现上述渲染设置图的示例性的动画系统800。渲染设置图能够以例如硬件或者存储在非暂态性计算机可读存储媒体上的软件来实施。系统能够配置为生成、修改和评估渲染设置图以对用于渲染计算机生成图像的灯光配置数据以外部过程进行配置和管理。系统能够进一步配置为接收来自用户的输入并且基于渲染设置图来显示图形、图像或动画场景。
[0064]动画系统800能够配置为从输入设备820接收用户输入。输入设备820可以是接收来自用户的输入并且将其传输到动画系统800的任何设备。例如,输入设备820可以是键盘、鼠标、平板式电脑、触针等。本领域技术人员将理解到还可以使用其它类型的输入设备。
[0065]动画系统800能够配置为将图形、图像或动画输出到显示设备830。显示设备830能够包括任何从动画系统接收数据且将数据呈现给用户的设备。例如,显示设备可包括液晶显示器、一组发光二极管、投影仪等。本领域技术人员将理解的是还可使用其它类型的输出设备。
[0066]动画系统800可进一步包括中央处理单元802。中央处理单元可以包括一个或多个处理核。中央处理单元802可与输入设备820耦合并且能够与输入设备820通信。虽然动画系统800图示出具有一个中央处理单元802,但是动画系统800可以包括多个处理单元。动画系统800还可包括图形处理单元804。图形处理单元804可专用于处理图形相关数据。图形处理单元804可包括单个处理核或多个处理核。虽然图示出动画系统800具有一个图形处理单元804,但是动画系统800可以包括多个图形处理单元。中央处理单元802和/或图形处理单元804可与输出设备830耦合并且能够将数据传达给输出设备830。
[0067]在一个实施例中,动画系统800可包括一个或多个处理器以及存储在诸如内存或存储设备的非暂态性计算机可读存储媒体中的指令,当通过一个或多个处理器执行时,指令利用渲染设置图来执行动画渲染,如上所述。在本文描述的实施方案的背景下,“非暂态性计算机可读存储媒体”可以是能够收容或存储由指令执行系统、装置或设备使用或者与指令执行系统、装置或设备关联的程序的任何媒体。非暂态性计算机可读存储媒体可包括但不限于电子、磁、光、电磁、红外或半导体系统、装置或设备、便携式计算机磁盘(磁)、随机存取存储器(RAM)(磁)、只读存储器(ROM)(磁)、可擦除可编程只读存储器(EPROM)(磁)、诸如CD、CD-R、CD-RW、DVD、DVD-R或DVD-RW的便携式光盘、或者诸如压缩闪存卡、安全数字卡、USB存储设备、存储棒等快擦写存储器。
[0068]动画系统800可以包括易失性存储器806,其是非暂态性计算机可读存储媒体,与中央处理单元802通信。易失性存储器806可包括例如随机存取存储器,诸如动态随机存取存储器或静态随机存取存储器,或者任何其它类型的易失性存储器。易失性存储器806可用于在动画系统800操作过程中存储数据或指令。本领域技术人员将理解的是还能够使用其它类型的易失性存储器。
[0069]动画系统800还可以包括非易失性存储器808,其是非暂态性计算机可读存储媒体,与中央处理单元802通信。非易失性存储器808可以包括快擦写存储器、硬盘、磁存储设备、只读存储器等。非易失性存储器808可用于存储动画数据、渲染设置图数据、计算机指令或任何其它信息。本领域技术人员将理解到还可以使用其它类型的非易失性存储器。
[0070]动画系统800不限于上文所描述的设备、配置和功能。例如,虽然示出了单个的易失性存储器806、非易失性存储器808、中央处理单元802、图形处理单元804、输入设备820和输出设备830,可在动画系统800的内部或外部实现这些设备中任意多个设备。另外,动画系统800可包括用于访问诸如内网或因特网的网络上的信息的网络访问设备。本领域技术人员将理解的是能够使用动画系统800的其它配置。
[0071]本文描述了各个示例性实施方案。在非限制意义上参考了这些实施例。提供这些是为了更宽泛地说明所公开技术的可应用方面。可以进行各种改变并且可替代等同方案,而不偏离各个实施方案的真正主旨和范围。另外,可进行多方面修改以将特定的情形、材料、物理组成、过程、过程动作或步骤适应各个实施方案的目标、精神或范围。此外,本领域技术人员将理解的是,本文所描述和图示的每一个单个的变型例具有可易于与其它多个实施方案中的任一个的特征分离或组合的离散部件和特征,而不偏离各实施方案的范围或精神。
【权利要求】
1.计算机实现方法,其利用依赖图来渲染图像,所述方法包括: 访问依赖图,所述依赖图包括多个互连节点; 访问动画对象集; 选择所述动画对象集的子集; 选择用于所述动画对象集的所述子集的视觉效果;以及 基于所述动画对象集的所述子集和所选视觉效果来渲染图像,其中所述多个互连节点包括: 第一节点,其表示所述动画对象集; 第二节点,其包括用于选择所述动画对象集的所述子集的对象属性或配置属性; 第三节点,其包括待选择用于所述动画对象集的所述子集的所述视觉效果;以及第四节点,其包括基于所述动画对象集的所述子集和所述所选视觉效果来渲染所述图像的指令。
2.如权利要求1所述的方法,其中选择所述动画对象集的所述子集包括:从在所述第二节点的输入处接收到的动画对象集中选择包括所述对象属性或所述配置属性的动画对 象。
3.如权利要求1所述的方法,其中,所述对象属性或配置属性包括对象名称、对象类型、几何结构名称、零件名称、材料或接近特性中的一个或多个。
4.如权利要求1所述的方法,其中所述依赖图还包括第五节点,所述第五节点包括执行渲染过程、半透明化过程、明暗处理过程或光栅化过程中的一种或多种的指令。
5.如权利要求4所述的方法,其中渲染所述图像包括:利用来自所述渲染过程、半透明化过程、明暗处理过程或光栅化过程中的一种或多种的结果来渲染所述图像。
6.如权利要求1所述的方法,其中待选择用于所述动画对象集的所述子集的所述视觉效果包括外观、关联光源、纹理或材料。
7.如权利要求1所述的方法,其中,在所述依赖图中所述第二节点的输出与所述第三节点的输入连接。
8.如权利要求1所述的方法,其中,在所述依赖图中所述第三节点的输出与所述第四节点的输入连接。
9.非暂态性计算机可读存储媒体,包括利用依赖图来渲染图像的计算机可执行指令,所述计算机可执行指令包括如下指令: 访问依赖图,所述依赖图包括多个互连节点; 访问动画对象集; 选择所述动画对象集的子集; 选择用于所述动画对象集的所述子集的视觉效果;以及 基于所述动画对象集的所述子集和所选视觉效果来渲染图像,其中所述多个互连节点包括: 第一节点,其表示所述动画对象集; 第二节点,其包括用于选择所述动画对象集的所述子集的对象属性或配置属性; 第三节点,其包括待选择用于所述动画对象集的所述子集的所述视觉效果;以及 第四节点,其包括基于所述动画对象集的所述子集和所述所选视觉效果来渲染所述图像的指令。
10.如权利要求8所述的非暂态性计算机可读存储媒体,其中选择所述动画对象集的所述子集包括:从在所述第二节点的输入处接收到的动画对象集中选择包括所述对象属性或所述配置属性的动画对象。
11.如权利要求8所述的非暂态性计算机可读存储媒体,其中,所述对象属性或配置属性包括对象名称、对象类型、几何结构名称、零件名称、材料或接近特性中的一个或多个。
12.如权利要求8所述的非暂态性计算机可读存储媒体,其中所述依赖图还包括第五节点,所述第五节点包括执行渲染过程、半透明化过程、明暗处理过程或光栅化过程中的一种或多种的指令。
13.如权利要求12所述的非暂态性计算机可读存储媒体,其中渲染所述图像包括:利用来自所述渲染过程、半透明化过程、明暗处理过程或光栅化过程中的一种或多种的结果来渲染所述图像。
14.如权利要求8所述的非暂态性计算机可读存储媒体,其中待选择用于所述动画对象集的所述子集的所述视觉效果包括外观、关联光源、纹理或材料。
15.如权利要求8所述的非暂态性计算机可读存储媒体,其中,在所述依赖图中所述第二节点的输出与所述第三节点的输入连接。
16.如权利要求8所述的非暂态性计算机可读存储媒体,其中,在所述依赖图中所述第三节点的输出与所述第四节点的输入连接。
17.利用依赖图来渲染图像的装置,所述装置包括: 存储器,其配置为存储依赖图;以及 计算机处理器;其配置为: 访问依赖图,所述依赖图包括多个互连节点; 访问动画对象集; 选择所述动画对象集的子集; 选择用于所述动画对象集的所述子集的视觉效果;以及 基于所述动画对象集的所述子集和所选视觉效果来渲染图像,其中所述多个互连节点包括: 第一节点,其表示所述动画对象集; 第二节点,其包括用于选择所述动画对象集的所述子集的对象属性或配置属性; 第三节点,其包括待选择用于所述动画对象集的所述子集的所述视觉效果;以及 第四节点,其包括基于所述动画对象集的所述子集和所述所选视觉效果来渲染所述图像的指令。
18.如权利要求17所述的装置,其中选择所述动画对象集的所述子集包括:从在所述第二节点的输入处接收到的动画对象集中选择包括所述对象属性或所述配置属性的动画对象。
19.如权利要求17所述的装置,其中,所述对象属性或配置属性包括对象名称、对象类型、几何结构名称、零件名称、材料或接近特性中的一个或多个。
20.如权利要求17所述的装置,其中所述依赖图还包括第五节点,所述第五节点包括执行渲染过程、半透明化过程、明暗处理过程或光栅化过程中的一种或多种的指令。
21.如权利要求20所述的装置,其中渲染所述图像包括:利用来自所述渲染过程、半透明化过程、明暗处理过程或光栅化过程中的一种或多种的结果来渲染所述图像。
22.如权利要求17所述的装置,其中待选择用于所述动画对象集的所述子集的所述视觉效果包括外观、关联光源、纹理或材料。
23.如权利要求17所述的装置,其中,在所述依赖图中所述第二节点的输出与所述第三节点的输入连接。
24.如权利要求17所述的装置,其中,在所述依赖图中所述第三节点的输出与所述第四节点的输 入连接。
【文档编号】G06T13/40GK104050701SQ201410096622
【公开日】2014年9月17日 申请日期:2014年3月16日 优先权日:2013年3月15日
【发明者】R·G·威尔逊, E·P·史密斯, M·李, M·瑞归恩斯, P·麦克纳尼 申请人:梦工厂动画公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1