CN104508711B - 用于渲染计算机生成动画的资源分区 - Google Patents
用于渲染计算机生成动画的资源分区 Download PDFInfo
- Publication number
- CN104508711B CN104508711B CN201480000143.0A CN201480000143A CN104508711B CN 104508711 B CN104508711 B CN 104508711B CN 201480000143 A CN201480000143 A CN 201480000143A CN 104508711 B CN104508711 B CN 104508711B
- Authority
- CN
- China
- Prior art keywords
- resource
- group
- predicate
- node
- test
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/30—Clipping
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
用于分割一组资源的计算机系统,其中每一个资源代表与计算机生成场景相关的一个计算机生成对象。存取由多个包含一个组织器节点的互连节点组成的依赖图。这个组织器节点的谓词测试的输入部分标识的资源被存取。判断使用这组资源,是否至少一个谓词测试可以被评估。如果至少一个谓词测试可以评估的话,则可以标识一个或多个分区资源并传送到下一个节点。如果至少一个谓词测试无法评估的话,标识一组保守资源并传送到下一个节点。其中,这组保守资源与谓词测试输入部分标识的资源完全相同。
Description
技术领域
本申请涉及计算机生成动画,更确切地说,涉及到使用依赖图渲染计算机生成场景的图像。
背景技术
计算机生成的动画图像可以通过渲染一个或多个、描述图像中场景的计算机生成对象来创建。光源、材质,纹理、其他视觉效果与计算机生成对象关联用以创建动画图像的逼真视觉外观。依赖图用于定义表征计算机生成对象的资源及多种作为渲染过程组成部分的视觉效果之间的关系。依赖图通常包含一个或多个关联资源与一个或多个视觉效果的互连节点。其中,节点线把资源及其视觉效果从一个节点传送到另一个节点以便处理。依赖图的输出可以用来创建场景的渲染图像。
在通常的实现中,依赖图使用比场景一组完整的资源较少的资源子集渲染场景。例如,为了渲染特定场景,与场景关联的一些对象可能出现在摄像机的视野之外。因此,就不需要渲染。由于加载资源到内存中需要耗费内存与资源,通常只需要加载渲染场景所必需的资源的一个子集。然而,使用传统技术,为了使依赖图可以计算,只有所有资源信息都加载后,渲染所需要、精确的资源子集才被知道。传统技术会导致加载没有用到的资源(包含计算机生成对象的几何图形)。结果,消耗超过必需的计算机资源。因此,理想情况是构建一个、使用场景的部分、而不是一组完整资源的用于计算依赖图的系统。
发明概述
一个典型的实施例包含用以分割一组资源的计算机实现方法。每一个资源代表一个与计算机生成场景相关的计算机生成对象。依赖图可以被存取。依赖图包含多个互连节点,互连节点中的一个节点包含一个含有至少一个谓词测试的组织器节点。组织器节点的谓词测试的输入部分的标识一组资源可以被存取。这取决于使用这一组资源,是否至少有一个谓词测试可以评估。如果至少有一个谓词测试可以评估,那么就可以对这组资源执行逻辑操作以标识一个或多个分区资源。其中,一个或多个分区资源是资源的子集。在组织器节点的输出部分标识的一个或多个分区资源被传送到依赖图的下一个节点。如果没有至少一个谓词测试可以评估,在组织器节点的输出部分标识的一组保守资源传送到下一个节点。其中,这组保守资源与谓词测试的输入部分标识的资源完全相同。
在一些实施例中,一组资源组包含这组资源中一个或多个资源的几何图形与资源属性。在某些情况下,这组资源不包含这组资源中一个或多个资源的几何图形。
在某些情况下,如果逻辑操作需要第一资源属性且在谓词测试的输入部分能够存取到第一资源属性,那么至少有一个谓词测试可以评估。在另一些情况下,如果逻辑操作需要第一资源属性且在谓词测试的输入部分无法存取到第一资源属性,则没有一个谓词测试可以评估。如果逻辑操作需要资源的几何图形、而且谓词测试的输入部分能够存取资源的几何图形,则没有一个谓词测试可以评估。还有一些情况,由于这组资源中的一个或多个资源的某些信息没有加载到计算机内存,则没有至少一个谓词测试可以评估。
在某些实施例中,多个节点中的一个或多个的节点给这组资源分配视觉效果。视觉效果可能是虚拟光源。
在一个实施例中,一个或多个分区资源被传送到依赖图中的渲染节点。使用渲染节点,就可以计算由一个或多个分区资源所代表的计算机生成对象的渲染图像。
一个典型的实施例包含用于分割资源的计算机的实现方法。其中,每个资源代表一个、计算机生成场景的计算机生成对象。依赖图可以被存取。依赖图包含多个互连节点,包含与渲染通道关联的渲染节点。依赖图中的渲染节点通过与计算机生成场景的渲染通道关联而被标识。在依赖图中,连接到渲染节点的以及渲染节点上游的节点就被标识。在依赖图中,涵盖这些节点的第一渲染通道就被执行,用以标识一组分区资源。加载这组分区资源的资源信息。在依赖图中,涵盖使用这些资源信息的节点的第二渲染通道将被执行。根据依赖图的第二渲染通道,就可以计算渲染图像。
附图说明
通过参照下列说明并结合相应的附图,能够更好地理解本专利申请。在附图中,相同的部分使用相同的数字编码。
图1描绘了场景相关的一组计算机生成的对象。
图2描绘了应用灯光效果场景的一组计算机生成的对象。
图3描绘了场景的渲染图像。
图4描绘了渲染设置图的示意图。
图5描绘了渲染设置图中组织器节点的示意图。
图6描绘了依赖图典型的计算过程。
图7描绘了使用依赖图、渲染图像的一个典型过程。
图8描绘了一个典型工作站计算机系统。
发明详述
提供了下面说明书以使本领域普通技术人员能够实现并利用各种实施方案。具体设备、技术以及应用的描述仅以实例的方式被提供。本文所描述的实施实例的各种改进对于本领域具有普通技术人员而言将是显而易见,在没有偏离本技术的精神与范围的情况下,本文所阐释的一般性的原理可以应用到其他实例与应用。因此,所公开的技术不旨在局限于下面描述与呈现的实例,而是与权利要求相一致的范围符合。
通常,通过渲染一系列的图像来创建计算机生成动画。每张图像描述了包含一个或多个计算机生成对象的计算机生成的场景。光源、材质、纹理、其他视觉效果与计算机生成对象关联以创建计算机生成场景的逼真的视觉外观。
为了讨论的方便,这里的计算机生成场景通常指的是使用虚拟摄像机拍摄的三维空间,并且还可一般性地称为场景。如图1所示,场景100包含茶壶151,球体152、圆柱体153、圆锥体153和立方体154的表面模型。在一个典型的计算机动画里,为了生成计算机动画电影胶片,计算机生成对象包含一个或多个被摆放或操纵的计算机动画角色。在这个例子中,计算机生成对象是使用表面几何图形定义的表面模型。在其他的例子中,也可能使用立体图形或者其他三维建模技术来定义计算机生成对象。
如图1所示,虚拟摄像机被定位用以观看场景100的一部分。通常,虚拟摄像机104具有由摄像机视锥限定的视野、摄像机视锥伸出远离虚拟摄像机104的透镜。通常,在摄像机的视锥之外的计算机生成对象不能直接被摄像机察觉。虚拟摄像机104与场景100中的计算机生成对象151-154的位置通常通过操作人员(比如动画制作者或导演)来确定。
如下文更加详细的说明,可以在场景100上使用灯光或其他视觉效果,使其具有更加逼真的外观。图2描绘了给场景100中计算机生成对象151-154使用灯光效果的情景。如图2所示,计算机生成对象被散射光源照射使得摄像机一侧的计算机生成对象151-154变亮。每个计算机生成对象151-154在散射光的另一侧出现阴影并且将其投射到场景100的地板与墙壁。场景100被一个或多个环境光源照射,使得场景100具有整体灯光效果。场景100还可以使用其他点光源、聚光灯、面光源。
图3描绘了在虚拟摄像机104视野内的部分场景100的渲染图像101。如图3所示,图像101描绘了计算机生成对象的一个子集,更确切地说包含茶壶151、圆锥体153与立方体154。图3中的计算机生成对象151、153、154对每个计算机生成对象使用多种光源与多种类型的表面阴影产生场景100看起来真实的图像。表面阴影用来模拟计算机生成对象表面的光学属性并且定义颜色、材质、高光属性与其他计算机生成对象的光学特征。表面阴影使用双向反射分布函数或其他技术来模拟计算机生成对象表面的随机的反射情况。表面阴影也可以用来定义一组光学属性用来模拟不同材质(比如,皮毛、皮肤或金属)。通常,每个计算机生成场景的光源、表面阴影与表面材质都可以被配置,这就是我们通常所说的灯光配置。
灯光配置可以基于逐个对象的设计也可以通过资源的共享属性配置一组对象的灯光属性。例如,聚光灯光源可能只与前景中的主角有关,并不照射其他对象。相反地,散射光源只与场景中植物有关,对场景中的主角没有什么效果。这一方法简化了渲染场景所需的计算,同时为动画制作者或用户在配置场景中的视觉效果时,增加了灵活性。然而,额外的灵活性使得管理数目较多的计算机生成对象及其关联的视觉效果变得困难。
如上所述,依赖图可以用来管理计算机生成对象与其关联的视觉效果之间的关系。为了讨论的方便,一种用于渲染场景并管理计算机生成对象与视觉效果的特殊的依赖图,我们称之为渲染设置图。图4描绘了渲染设置图200的典型的可视化呈现。渲染设置图200可以显示在计算机显示器,通过图形用户界面与计算机硬件予以操作,这些内容将在下文的第三部分详细说明。渲染设置图通常由动画制作者或用户来配置,能够用来创建场景的多个照明场景。
渲染设置图200通常把资源表征的计算机生成对象作为输入,这些资源位于资源存储202。资源存储202可以是管理渲染设置图的工作站计算机系统的内存,也可以是远程连接,集中计算机存储的、可被多用户存取的数据库。集中式数据库可以提高整体的存储效率并且有助于确保计算机生成的动画使用计算机生成对象的通用版本。
在渲染设置图200中,通过多个节点204A-E,将诸如光源、阴影与材质等视觉效果分配给这些资源。在这个例子中,渲染设置图200使用204A-E的每一个节点从左向右将一个或多个视觉效果分配给一组资源。每个资源代表了场景中的一个计算机生成对象。节点线206用于在渲染设置图200的元素之间传送资源及其关联的视觉效果。最终,资源及其关联的视觉效果传送到渲染节点208A-C中的其中一个。在这个例子中,208A-C中的每个渲染节点包含完整的灯光配置并且可以被存储或用作创建场景的渲染图像。
渲染设置图200同时包含一种被称作组织器节点(210A-B)的特殊类型的节点,它用来为下游的节点运算选择一个或一组资源。为下游节点的选择的资源也被称作分区。根据资源的属性,分区资源有助于视觉效果的分配。例如,210A-B其中之一的组织器节点可以选择、标识限于特定视角或摄像机视锥的场景中的所有资源。组织器节点210A-B可以根据资源名称、资源位置、大小或者其他资源属性来选择或标识资源。被组织器节点210A-B标识的资源的子集,在这里称作分区或者分区资源的子集。
在通常的实现中,组织器节点210A-B中的节点的输出的分区资源的子集相对于组织器节点210A-B的输入211的资源而言,是简化的资源。通过这种方式,当它们分别通过组织器节点210A-B到下游节点204C-E的时候,资源在数量上被剔选、简化。最终,分区资源的子集被传送到渲染节点208A-C并用于计算场景的渲染图像。
渲染设置图通常包含能够给资源加以多种功能与运算的元素,通过这些元素,产生更多的功能与运算。例如,一个渲染设置图可以包含分离器、组合器与其他路由元素。为了清晰起见,本次讨论与图4所描绘的例子忽略了这些其他元素。下文所讨论的技术同样适用于比图4中的渲染设置图多些或少些元素的渲染设置图。
一般而言,渲染设置图可以为场景定义多个渲染通道。每个渲染通道结合分区资源的子集与其唯一视觉效果。例如,某个渲染通道可以被配置为仅仅渲染场景背景中资源。渲染通道也可以被配置为使用简化光源组、阴影来渲染分区资源的子集,以减少计算场景的渲染图像所需的渲染计算。
图4所示的渲染设置图200描绘了标注为208A-C的、三个典型的渲染通道。渲染通道中用于分区资源的子集灯光配置分别被定义在204A-C节点与210A-B组织器节点。通过节点线,它们分别连接到渲染节点208A-C。
能够定义并配置渲染通道使得动画制作者或用户无需处理场景相关中的整个资源,就能够开发不同的灯光配置。多个通道渲染也使得动画制作者或用户能够处理需要忽略了需要耗费资源的视觉效果的简化场景,而这些视觉效果可以在最终生成渲染通道中使用。在有些情况下,多渲染通道结合起来以制作完整场景的最终渲染图像。
一般而言,因为组织器节点210A-B选择或分割资源,任何单一的渲染通道(与渲染节点208A-C相对应)不使用场景相关的所有资源。因为这些资源通常远程存储在集中式计算机存储数据库中,所以取回并创建本地资源副本需要耗费相当大的计算机资源。如上所述,通过每一个渲染通道不需加载所有资源,实现计算机资源的节省。
然而,渲染通道所必需的、精确的资源集合直到渲染设置图200被计算出来才能够知道。在特殊情况下,如果没有加载所有资源信息,组织器节点210A-B不能为下游元素选择或分割资源,也不能作为输入提供给渲染设置图200。不过,如下文更详细描述的,组织器节点110A-B可以被配置输出部分剔选的,但是,保守的一组资源给渲染设置图200的下游元素。在某些情况下,这组保守资源会超过渲染通道所需的资源,但是,与场景相关的整组资源相比简化。因此,无需加载将要渲染场景的所有资源,上述系统与技术可以用于计算渲染通道。
使用不完全的资源信息评估组织器节点
图6描绘了用于计算依赖图(例如渲染设置图)的典型流程1000。流程1000可以在工作站计算机系统上执行,如下面图8描绘的,它是计算机动画制作过程的一部分。典型流程1000在计算机生成对象(例如,动画角色)被放置或摆放在场景里并以资源的形式存储在集中式存储数据库之后执行。流程1000通常在场景图像渲染之前执行。
流程1000优于其他技术的地方在于需要更少的计算资源,尤其是工作站计算机的内存中没有加载所有资源信息的场合。如上面图4所示,渲染设置图200所用的资源存储在资源存储202中,资源存储202可以通过计算机网络从支持多用户存取的集中式计算机存储数据库中取回资源信息。通过计算机网络,把资源从数据库加载到工作站的内存中,需要耗费非同寻常的计算机资源。因此,使用集中式存储配置,加载较少的资源到工作站内存可以减少网络流通,减少加在集中式数据库上的负载,同时减少加载资源所需的时间。
为了得到动画的电影胶片,流程1000会在使用依赖图计算计算机生成场景的渲染通道时使用。为了下面讨论的方便,流程1000的实例可以由渲染设置图中的组织器节点提供。参照图4中包含组织器节点210A与210B的渲染设置图200。关于组织器节点210A的更为详细说明由图5提供。
在操作1002中,存取依赖图。图4描绘了一种被称作渲染设置图200的依赖图。如上所述,渲染设置图200包含了由节点线206互相连接的多个节点204A-E,210A-B,208A-C。节点204A-E将一个或多个视觉效果(比如灯光或者材质)与代表场景中计算机生成对象的资源关联。通过节点线206,资源及其关联的视觉效果从互连的节点之间进行传送。如图4所示,有一个或多个、用于将资源分区成一个或多个资源分区子集的组织器节点210A-B。
如上图4所示,组织器节点210A-B用于选择或分割这组资源成更小的资源集合、并用作渲染设置图下游元素的输入。使用一个或多个组织器节点,渲染设置图可以被配置定义多个渲染通道,每个渲染通道分别由渲染节点208A-C予以表示。
图5描绘了组织器节点210A的原理图。在这个典型的实现中,组织器节点210A的输入部分211标识一组资源。这些资源可以通过一个或多个上游节点传送到输入211。组织器节点210A通过评估一个或多个谓词测试214A-D将资源分区为多个资源子集。214A-D中的每一个谓词测试包含一个或多个用以标识或选择分区资源子集的逻辑操作。这些分区资源的子集分别在组织器节点210A的输出部分212A-D,并使用节点线206连接到下游的元素。
一个典型的谓词测试包含了用于标识具有资源几何图形的资源,其能满足基于几何图形的逻辑操作。例如,谓词测试可以标识具有曲面几何图形的资源。参照图2、图3描绘场景100中的计算机生成对象。这个谓词测试可以用来标识代表球体152、圆柱体153、圆锥体153这些具有曲面的几何图形。
在典型的实现中,没有满足谓词测试的资源(例如,214A)充当后续谓词测试的输入(例如,214B)。通常,每个谓词测试接收那些没有满足之前谓词测试的资源,并且对这些资源执行新的逻辑操作。如果组织器节点210A被配置成这种方式的话,输入211的资源组就在输出212A-E5上分割为相应的5个唯一的且不重叠的资源子集。
为了确保每个组织器节点的每个谓词测试可以评估,与场景相关的所有资源属性都需要被加载并作为渲染设置图的输入。使用完整资源信息集合(包含资源的几何图形)来计算渲染设置图,会使得每个渲染节点要进行相当大的资源剔选。然而,这种方法需要加载所有的资源信息到内存,如上所述,这会消耗非同寻常数量的计算机资源。
然而,使用流程1000,渲染设置图的组织器节点被配置以便缓解输出的每一个资源的子集是唯一的且不能重叠这个情况。结果是,不用加载所有的资源信息到内存,组织器节点可以用作产生部分剔选、涵盖较大(保守型)的资源、可以被渲染设置图标识的资源的集合。
在操作1004中,组织器节点输入部分的一组输入资源被存取。参照图5中的组织器节点210A,输入部分211的一组输入资源被存取。在这个例子中,这些资源通过一个或多个节点线206从上游节点传送到组织器节点210A。通常,这组输入资源并不包含场景相关资源的完整的资源信息。例如,这组输入资源可能不包含至少一些场景相关的资源的几何图形信息。在另外一些情况下,这组输入资源集合包含了至少一些资源完整信息,但不是场景相关的所有资源。操作1004所接收到的信息通常依赖于先前加载到工作站内存中的资源信息。
在某些情况下,在操作1004中,至少场景中所有资源的某些信息可以被组织器节点210A获取到。例如,场景相关的所有资源的一个或多个资源属性可以被组织器节点210A接收到。就是说,即使场景相关的所有资源没有加载到工作站内存中,至少场景相关的每个资源的一些属性在操作1004被执行之前已经加载到工作站内存。
一般而言,加载资源属性比加载整个资源消耗相当少的资源,资源属性通常包含计算机生成对象的表面几何图形。例如,场景中的每个资源的属性,包含资源名称、资源位置、边界框通常都被加载。资源名称通常是用于标识资源的、唯一的字符串,位置通常指的是计算机生成对象在场景中的三维坐标的值,边界框通常是定义场景中计算机生成对象所占体积的立方体。因为加载与存储它们需要相对较少的计算资源,这些资源属性通常加载到本地内存中。
操作1006用于判断使用这组输入资源,谓词测试能否评估。如图5描绘的谓词测试214A-D通常包含一个或多个、用于标识分区资源子集的逻辑操作。组织器节点210A的每一个谓词测试214A-D都会执行操作1006。
如果执行逻辑操作所需的信息在操作1004中的以资源信息提供的话,这个谓词测试通常能评估。如果执行逻辑操作所需的信息没有作为输入提供的,或者没有加载到工作站内存,这个谓词测试通常不能评估。
在第一个例子中,第一典型谓词测试配置以标识具有曲面几何图形的资源。例如,如果资源的几何图形作为输入提供操作1004,则第一谓词测试就能评估。然而,如果因为几何图形没有被加载到工作站内存而致使无法输入的话,第一谓词测试就无法评估。
在第二个例子中,第二典型谓词测试配置以标识摄像机视椎内的资源。如果在操作1004中在输入部分提供场景中每个资源的位置,则第二典型谓词测试就能够评估。例如,如果操作1004接收的资源的位置与边界框属性已知的话,那么资源的位置就可以确定。如上所述,场景中每个资源的位置、边界属性通常被加载与存储,因此操作1004很容易获取这些信息。如果是这种情况的话,即能够获取资源的位置与边界框信息,第二典型谓词测试就能够评估。
在操作1008中,如果使用这组输入资源,这个谓词测试可以评估的话,那么使用第一谓词测试就可以标识一个分区资源的子集。换句话说,如果有谓词测试计算所需的足够的资源的信息,就能标识满足这个谓词测试的那些资源。如上面图5所述,这个运算与组织器节点210A的谓词测试214A-D的通常运算是一致。
再次参照上面提供的第一个典型实例,第一典型谓词测试配置以标识具有曲面几何图形的资源。在这种情况下,第一谓词测试会评估资源集合中每个资源曲面几何图形的曲率。用于测试非零曲率几何图形的、基于几何结构的逻辑操作可以用来标识相关的分区资源。参照图1,第一典型谓词测试可以标识球152、圆柱体153、茶壶151,它们都包含具有曲面的几何图形。
参照上面提供的第二个例子,第二典型谓词测试配置以标识摄像机视椎内的资源。在这种情况下,通过确定摄摄像机视椎的几何图形,标识位置、边界框与摄像机视景相交的资源,第二典型谓词测试得以计算。参照图1-3,第二典型谓词测试可以标识茶壶151、圆锥体153与立方体154,它们的位置、边界框与虚拟摄像机104的摄像机视椎有相交部分。例如,图3描绘了在摄像机104视野内的,能够显示这些对象的场景渲染图像101。
在操作1010中,分区资源的子集被传送到渲染设置图的下一个节点。参照图4、图5,例如,被分区测试214A标识的资源通过节点线206传送到下游节点204C。与资源相关的视觉效果,通过上游节点204A,同样传送到渲染设置图的下一个节点。因为分区资源的子集是这组输入资源的子集,这些资源至少被部分剔选,用于下游节点的运算。
如上面关于图5所讨论的,没有满足谓词测试的资源将被传送到组织器节点的下一个的谓词测试或组织器节点的输出部分。参照图5,没有满足谓词测试214A的资源传送到下一个谓词测试214B。如果谓词测试是这一系列中的最后一个测试的话(例如,谓词测试214D),资源没有满足这个谓词测试,则将其作为组织器节点的输出(例如,输出212E)。如图5所示,通过节点线,最终输出212E可能没有连接下游节点。一般而言,组织器节点的任何输出连接到(通过节点线)或不连接到到下游节点。
在操作1012中,如果使用这组输入资源,谓词测试无法评估,一组保守资源被传送到渲染设置图的下一个节点。为了避免漏掉渲染通道所需的资源,这组保守资源与这组输入资源相同。换句话说,如果没有足够的资源信息计算谓词测试,则跳过这个谓词测试。输入的资源将分别再次被作为组织器节点的相应的输出,并传送到渲染设置图中的下一个节点
再次参照上面提供的第一个实例,第一典型谓词测试配置以标识具有曲面几何图形的资源。在这种情况下,如果操作1004接收到的资源的没有所需的几何图形信息的话,这个谓词测试将无法评估。结果,操作1004作为输入部分接收的整个资源将被作为保守资源传送到渲染设置图的下一个节点
参照图5,如果谓词测试214A无法计算的话,输入211接收的资源将作为保守资源提供给谓词测试214A相应的输出212A。此外,保守资源(谓词测试214A接收的整个资源)同样被传送下去到这串的下一个谓词测试214B。如果是最后一个谓词测试214D的情况,保守资源(谓词测试214C接收的整个资源)将被传送作为输出212E。
组织器节点的每一个谓词测试通常都会执行流程1000。一般而言,一旦评估谓词测试可能的话,那么一组分区资源将被标识并在渲染设置图中传送。当评估谓词测试不可能的时候,这个分区测试将被跳过并且成组资源将被接收作为输入资源并在渲染设置图中传送。这个过程可以被每个连接到渲染节点的组织器节点所重复,渲染节点连接将被计算的渲染通道。
通常,为渲染设置图的某一整个通道,执行流程1000将会在渲染节点产生部分剔选,但是可能涵盖过大的一组资源。即,这组资源至少被一个或多个依赖图中的能够计算的谓词测试所部分剔选。同时,这些资源可能涵盖过大或者说是保守性的,是由于一个或多个谓词测试没能计算。因此,使用流程1000,资源的数量可能会减少,但是又没有消除渲染通道所需的资源。
评估渲染图像的依赖项
流程1000可以在渲染由一个或多个计算机生成对象组成的场景图像的、更大范围的过程中使用。图7描绘了通过执行依赖图中的多个渲染通道,计算渲染后图形的典型流程1100。更具体地说,执行依赖图的第一渲染通道以标识出超出渲染图像所需的一组资源。然后,在接收第一渲染通道所标识的资源的一些或全部资源信息后,执行依赖图的第二渲染通道。执行辅助通道将可精炼这组资源,并用以接收精炼后的资源一些或全部资源信息。最终,根据依赖图的最后一个渲染通道,计算出渲染图像。
如下文所述,流程1100描述了双通道迭代为渲染通道精炼资源。不过,在别的实现中,会执行两个以上的渲染通道,使用一部分但是没必要是全部的资源信息。如流程1100所描述的那样,结合流程1000,执行多通道以精炼资源,通过减少从中心数据库获取资源信息的数量节省了计算资源。
如图4所述,渲染设置图200作为一种典型的依赖图,它包含了通过节点线206连接在一起的多个互连节点204A-E,210A-B与208A-C。操作1102与图6所讨论的操作1002相似。
在操作1104中,标识一个渲染节点。参照图4,渲染设置图200中的渲染节点208A,208B,208C被标识出来。通过选择渲染设置图中的一个特定的渲染通道来标识渲染节点。如上所述,208A-C中的每个渲染通道代表一个不同的渲染通道。在渲染通道中,灯光条件应用于某组特定的资源(代表场景中的计算机生成对象)。
在操作1006中,渲染节点的上游节点被标识。参照图4,204A,210A、204C是渲染节点208A的上游节点。上游节点定义了渲染通道待实现的灯光效果与资源。可以通过从渲染节点追溯到依赖图的输入部分来标识上游节点。
在操作1108中,涵盖已标识节点,执行依赖图的第一渲染通道。在这个运算里,一组输入资源被用作操作1106所标识的系列节点的输入部分。如上所述,这组输入资源通常不包含这组资源的所有的资源信息。例如,出于内存密集方面的考虑,诸如资源的几何图形可能没有被加载并作为依赖图的输入部分以保护计算资源。如上面流程1000中的操作1004所述,这里通常所有场景相关的资源至少有一个属性被加载。这个被加载到工作站计算机的资源属性通常作为输入部分提供给依赖图的第一渲染通道。
当操作1108执行时,流程1000会被渲染设置图中组织器节点的每一个谓词测试执行。如上面所述,在依赖图的所有谓词测试中,实施流程1000会产生标识出部分剔选、但是可能涵盖过大的一组资源。
在操作1110中,第一通道中所标识资源的某些或全部资源信息被加载到内存。在一个例子中,操作1008所标识的这组资源用于从集中式数据库存储中下载与资源相关的所有资源信息。如前面提到的,少于全部的资源信息被加载并且依赖图的多个通道被执行以精炼用于渲染通道所需的这组资源。
因为第一渲染通道(操作1108)所标识的这组资源涵盖过大,所以这组资源可以用来标识执行被选择渲染通道的所需的所有资源信息。此外,因为这组资源也可能是部分剔选的,与下载场景相关的所有资源信息相比,取回已经标识的资源信息通常能够节省计算机资源。
在操作1112中,执行依赖图的第二渲染通道。在这个运算中,使用在操作1110中得到的资源信息计算依赖图。在操作1110中得到的这组资源有可能涵盖过大。因此,如果能够获得第一渲染通道所标识的资源的所有资源信息,依赖图中渲染通道的每个谓词测试可以被评估并且获得一组被完全剔选的资源。
如前面所提到的,取回少于全部资源信息给第二渲染通道。如果依赖图在第二渲染通道中可以被完全评估,那么无需其他通道。然而,如果在第二次通道中,谓词测试没有完全地评估,额外的资源信息需要被取回并且依赖图需要重新评估。这一过程尽可能重复以获得一组完全剔选的资源。
在操作1114中,计算一张渲染图像。在执行依赖图的第二(或者后续通道)渲染通道后,一组完全剔选的资源及其相关的视觉效果被提供给各个渲染节点。这些信息被传送给用以计算渲染图像的渲染过程。根据依赖图,使用被选择的视觉效果,计算渲染图像包含用于处理资源一个或多个过程。这一外部过程包含动画制作者、灯光师或其他用户使用依赖图打算处理对象的过程,例如,渲染、阴影、栅格化或其他。图3描绘一张典型的渲染图像。
工作站计算机系统
图8描绘了一个、可以实施上面讨论的渲染设置图与技术的典型的工作站计算机系统2000。渲染设置图可以通过硬件或存储在非易失计算机可读存储介质里的软件来实现。这个系统配置用于生成、修改与计算渲染设置图用以配置、管理灯光配置数据与渲染计算机图像的外部过程。这个系统进一步配置以接收用户输入,显示图形、图像、以及基于渲染设置图的动画场景。
工作站计算机系统2000能被配置接收来自输入设备2020的用户输入。输入设备2020是可以接收用户输入,并将输入传输给工作站计算机系统2000的任何设备。例如,输入设备2020可以是键盘、鼠标、写字板、触笔或其他。本领域熟练的技术人员能够认识到也可以使用其他输入设备。
工作站计算机系统2000可以被配置通过显示设备2030输出图形、图像、或者动画。显示设备2030包含能够从工作站计算机系统接收数据且呈现给用户的任何设备。例如,显示设备2030可以是液晶显示器、一组发光二极管、投影仪或其他。本领域熟练的技术人员能够认识到也可使用其他输出设备。
工作站计算机系统还包含中央处理单元2002。中央处理单元可以包含一个或多个处理内核。中央处理单元2002连接输入设备2020,并且能够与之通讯。虽然工作站计算机系统2000被举例为包含一个中央处理单元2002,工作站计算机系统可以包含多个中央处理单元。工作站计算机系统包含一个图形处理单元2004。图形处理单元专门用于处理与图形有关的数据。图形处理单元2004可以有单个或多个处理内核。虽然工作站计算机系统举例为一个图形处理单元2004,工作站计算机系统2000可以包含多个图形处理单元。中央处理单元与/或图形处理器单元2004连接输出设备2030,并且能与之通讯。
在一个例子中,工作站计算机系统2000包含一个或多个处理器以及存储在非易失计算机可读存储介质,例如,内存或存储器,上的指令集,在使用渲染设置图执行动画渲染时,指令集被一个或多个处理器执行。在这里所描述的解决方案的上下文中,“非易失计算机可读存储介质”可以是包含或存储使用程序的任何介质,并连接到指令执行系统的装置或设备。非易失计算机可读存储介质包含,但不仅限于,电子的、磁性的、光学的、电磁的、红外的,或其他半导体系统,装置或设备。便携式计算机磁盘,随机存取存储器(磁性),只读存储器(磁性),可擦除只读存储器(磁性),便携式光盘比如CD,CD-R,CD-RS,DVD,DVD-R或DVD-RW,或闪存比如紧缩式闪存,安全数字卡,USB存储设备,记忆棒或其他。
工作站计算机系统2000包含易失存储器2006。易失性存储器是能够与中央处理单元2002通信的,是非暂存态的、计算机可读存储介质。易失存储器2006包含,例如,随机存取存储器:动态随机存取存储器或静态随机存储存储器,以及其他类型的易失存储器。易失性存储器2006用于存放工作站计算机系统2000运行过程中数据或指令。本领域技术人员能够识别并使用其他类型的易失性存储器。
工作站计算机系统2000还包含非易失存储器2008,非易失存储器2008与中央处理单元2002相连,是一种非暂存态的、计算机可读存储介质。非易失存储器2008包含闪存、硬盘、磁性存储设备、只读存储器或其他。非易失存储器2008可以用来存储动画数据、渲染设置图数据、计算机指令集或其他信息。本领域熟练的技术人员可以识别并使用其他类型的非易失存储器。
例如,虽然举例为一个易失性存储器2006,非易失性存储器2008、中央处理单元2002、图形处理单元2004、输入设备2020和输出设备2030,多个设备可以在工作站计算机系统的内部或外部实施。另外,工作站计算机系统2000包含网络存取设备以获取网络上的信息,比如内部网或互联网。本领域内熟练的技术人员能够识别能够用于工作站计算机系统2000的其他配置。
这里呈现多种典型解决方案。在参考意义上,给这些例子提供参考。它们被用来举例说明这项公开技术有更为广泛的适用方面。在没有背离各种解决方案的精神与范围的前提下,可以做多种改变而且可以使用等同设备替换原有设备。另外,需要做些改变以适应特定的环境,材质、组成物质,过程,工艺,步骤,对象,理念以及各种解决方案得范围。且能够被本领域熟练的技术人员所认可。在没有背离各种解决方案的范围与精神的前提下,这里所描绘、举例说明的每一解决方案体具有可分离的成分与功能,可以很容易的分离或与其他解决方案的功能进行组合。
Claims (16)
1.一种计算机实现的用于分割一组资源的方法,其中,每个资源代表了与计算机生成场景关联的一个计算机生成对象,所述方法包含:
存取依赖图,依赖图包含多个互连节点,所述互连节点的其中之一包含至少有一个谓词测试的组织器节点;
存取由所述组织器节点的谓词测试输入部分标识的一组资源,其中所述一组资源包括所述一组资源中的一个或多个资源的资源几何图形或资源属性;
判断使用所述一组资源是否至少有一个谓词测试可以被评估;
如果至少有一个谓词测试可以被评估,
对所述一组资源执行逻辑操作以标识一个或多个分区资源,其中所述逻辑操作包括确定所述一组资源中的一个或多个资源的资源几何图形或资源属性是否满足条件,而且其中,所述一个或多个分区资源是所述一组资源的子集,并且
在组织器节点的输出部分传送所述一个或多个分区资源到所述依赖图中的下一个节点;
如果至少一个谓词测试无法被评估,
在组织器节点的输出部分传送一组保守资源给下一个节点,其中,所述一组保守资源与所述谓词测试输入部分标识的资源相同。
2.如权利要求1所述的计算机实现方法,其中,所述一组资源包含所述一组资源中一个或多个资源的几何图形与资源属性。
3.如权利要求1所述的计算机实现方法,其中,所述一组资源不包含所述一组资源中一个或多个资源的几何图形。
4.如权利要求1所述的计算机实现方法,其中,如果所述逻辑操作需要第一资源属性且能够在所述谓词测试的输入部分存取到所述第一资源属性,则至少一个所述谓词测试可以被评估。
5.如权利要求1所述的计算机实现方法,其中,如果所述逻辑操作需要第一资源属性且在所述谓词测试的输入部分无法存取所述第一资源属性,则至少一个所述谓词测试无法被评估。
6.如权利要求1所述的计算机实现方法,其中,如果所述逻辑操作需要资源的几何图形且在所述谓词测试的输入部分不能够存取资源的几何图形,则至少一个谓词测试无法被评估。
7.如权利要求1所述的计算机实现方法,其中,因为所述一组资源中的一个或多个资源的至少部分信息没有加载到内存,所以至少一个谓词测试无法被评估。
8.如权利要求1所述的计算机实现方法,其中,多个节点中的一个或多个节点为所述一组资源分配视觉效果。
9.如权利要求8所述的计算机实现方法,其中,视觉效果是虚拟光源。
10.如权利要求1所述的计算机实现方法,还包含:
传送一个或多个分区资源到所述依赖图的渲染节点,并
使用所述渲染节点,计算一个或多个分区资源表征的计算机生成对象的渲染图像。
11.一种非暂存态计算机可读存储介质,包含:用于分割一组资源的计算机可执行指令集,其中,每个资源代表与一个计算机生成场景相关的计算机生成对象,所述可执行指令集包含指令用于:
存取依赖图,所述依赖图包含多个互连节点,互连节点中的一个节点包含含有至少一个谓词测试的组织器节点;
存取所述组织器节点的所述谓词测试的输入部分标识的所述一组资源,其中所述一组资源包括所述一组资源中的一个或多个资源的资源几何图形或资源属性;
判断使用所述一组资源,是否至少一个谓词测试可以被评估;
如果至少一个谓词测试可以被评估,
对所述一组资源执行逻辑操作以标识一个或多个分区资源,其中所述逻辑操作包括确定所述一组资源中的一个或多个资源的资源几何图形或资源属性是否满足条件,而且所述分区资源是所述一组资源的子集;
在所述组织器节点的输出部分传送所述一个或多个分区资源到所述依赖图的下一个节点;并且
如果至少一个谓词测试无法被评估,
在所述组织器节点的输出部分传送一组保守资源到下一个节点,其中,所述一组保守资源与所述谓词测试输入部分标识的一组资源相同。
12.如权利要求11所述的计算机可读存储介质,其中,所述一组资源包含所述一组资源的一个或多个资源的几何图形与资源属性。
13.如权利要求11所述的计算机可读存储介质,其中,所述一组资源不包含所述一组资源的一个或多个资源的几何图形。
14.如权利要求11所述的计算机可读存储介质,还包含指令集,用以:
传送所述一个或多个分区资源给所述依赖图的渲染节点;
使用所述渲染节点,计算由一个或多个分区资源表征的计算机生成对象的渲染图像。
15.一种执行图形处理的装置,所述装置包含:
用于存储数据的存储器;
计算机处理器,所述计算机处理器配置用以:
存取依赖图,所述依赖图包含多个互连节点,所述互连节点的其中之一包含至少有一个谓词测试的组织器节点;
存取由所述组织器节点的谓词测试输入部分标识的一组资源,其中所述一组资源包括所述一组资源中的一个或多个资源的资源几何图形或资源属性;
判断使用所述一组资源,是否至少一个谓词测试可以被评估;
如果至少有一个谓词测试可以被评估;
对所述一组资源执行逻辑操作以标识一个或多个分区资源,其中所述逻辑操作包括确定所述一组资源中的一个或多个资源的资源几何图形或资源属性是否满足条件,而且其中,所述一个或多个分区资源是所述一组资源的子集;
在组织器节点的输出部分传送所述一个或多个分区资源到所述依赖图中的下一个节点;
如果至少一个谓词测试无法被评估,
在组织器节点的输出部分传送一组保守资源给下一个节点,其中所述一组保守资源与所述谓词测试输入部分标识的资源相同。
16.如权利要求15所述的装置,所述计算机处理器还被配置:
传送一个或多个分区资源到所述依赖图中的渲染节点;
使用所述渲染节点,计算由所述一个或多个分区资源表征的计算机生成对象的渲染图像。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/831,309 US9171401B2 (en) | 2013-03-14 | 2013-03-14 | Conservative partitioning for rendering a computer-generated animation |
US13/831,309 | 2013-03-14 | ||
PCT/US2014/026799 WO2014152003A2 (en) | 2013-03-14 | 2014-03-13 | Conservative partitioning for rendering a computer-generated animation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104508711A CN104508711A (zh) | 2015-04-08 |
CN104508711B true CN104508711B (zh) | 2019-01-08 |
Family
ID=51525402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480000143.0A Active CN104508711B (zh) | 2013-03-14 | 2014-03-13 | 用于渲染计算机生成动画的资源分区 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9171401B2 (zh) |
EP (1) | EP2973412B1 (zh) |
CN (1) | CN104508711B (zh) |
WO (1) | WO2014152003A2 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10008019B2 (en) | 2015-04-15 | 2018-06-26 | Autodesk, Inc. | Evaluation manager for 3D animation scenes |
US9761042B2 (en) * | 2015-05-27 | 2017-09-12 | Siemens Healthcare Gmbh | Method for streaming-optimized medical raytracing |
US10366540B2 (en) * | 2017-03-23 | 2019-07-30 | Htc Corporation | Electronic apparatus and method for virtual reality or augmented reality system |
US10347039B2 (en) * | 2017-04-17 | 2019-07-09 | Intel Corporation | Physically based shading via fixed-functionality shader libraries |
CN108648249B (zh) * | 2018-05-09 | 2022-03-29 | 歌尔科技有限公司 | 一种图像渲染方法、装置及智能穿戴设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005114589A1 (en) * | 2004-05-10 | 2005-12-01 | Pixar | Techniques for animating complex scenes |
WO2005114587A1 (en) * | 2004-05-10 | 2005-12-01 | Pixar | Techniques for rendering complex scenes |
CN101916324A (zh) * | 2008-11-17 | 2010-12-15 | 迪士尼企业公司 | 用于动画的依赖图评估的系统和方法 |
CN102053989A (zh) * | 2009-10-30 | 2011-05-11 | 国际商业机器公司 | 用于确定要被物化的节点的方法和系统 |
Family Cites Families (98)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2264603B (en) | 1992-02-28 | 1995-08-23 | Sony Broadcast & Communication | Multiplexing and demultiplexing image data |
US5675752A (en) | 1994-09-15 | 1997-10-07 | Sony Corporation | Interactive applications generator for an interactive presentation environment |
US5986667A (en) | 1994-12-22 | 1999-11-16 | Apple Computer, Inc. | Mechanism for rendering scenes using an object drawing subsystem |
US5692184A (en) * | 1995-05-09 | 1997-11-25 | Intergraph Corporation | Object relationship management system |
US5870097A (en) | 1995-08-04 | 1999-02-09 | Microsoft Corporation | Method and system for improving shadowing in a graphics rendering system |
US5808617A (en) | 1995-08-04 | 1998-09-15 | Microsoft Corporation | Method and system for depth complexity reduction in a graphics rendering system |
US5808625A (en) | 1995-08-04 | 1998-09-15 | Silicon Graphics Incorporated | System and method for using dependency graphs for the control of a graphics creation process |
US5982389A (en) | 1996-06-17 | 1999-11-09 | Microsoft Corporation | Generating optimized motion transitions for computer animated objects |
US5896139A (en) | 1996-08-01 | 1999-04-20 | Platinum Technology Ip, Inc. | System and method for optimizing a scene graph for optimizing rendering performance |
US7920143B1 (en) | 1997-03-27 | 2011-04-05 | At&T Intellectual Property Ii, L.P. | Method for defining animation parameters for an animation definition interface |
US7548238B2 (en) | 1997-07-02 | 2009-06-16 | Nvidia Corporation | Computer graphics shader systems and methods |
US6496190B1 (en) | 1997-07-02 | 2002-12-17 | Mental Images Gmbh & Co Kg. | System and method for generating and using systems of cooperating and encapsulated shaders and shader DAGs for use in a computer graphics system |
US6154215A (en) | 1997-08-01 | 2000-11-28 | Silicon Graphics, Inc. | Method and apparatus for maintaining multiple representations of a same scene in computer generated graphics |
AU761202B2 (en) | 1997-09-22 | 2003-05-29 | Sony Corporation | Generation of a bit stream containing binary image/audio data that is multiplexed with a code defining an object in ascii format |
US6272650B1 (en) | 1998-02-03 | 2001-08-07 | Amazing Media, Inc. | System and method for disambiguating scene graph loads |
US6243856B1 (en) | 1998-02-03 | 2001-06-05 | Amazing Media, Inc. | System and method for encoding a scene graph |
US6263103B1 (en) | 1998-11-30 | 2001-07-17 | Mitsubishi Electric Research Laboratories, Inc. | Estimating scenes using statistical properties of images and scenes |
US6760485B1 (en) | 1999-05-20 | 2004-07-06 | Eastman Kodak Company | Nonlinearly modifying a rendered digital image |
US7657330B2 (en) | 1999-06-11 | 2010-02-02 | Parker-Hannifin Corporation | Optical ring architecture |
US6556200B1 (en) | 1999-09-01 | 2003-04-29 | Mitsubishi Electric Research Laboratories, Inc. | Temporal and spatial coherent ray tracing for rendering scenes with sampled and geometry data |
US7184038B2 (en) | 1999-09-24 | 2007-02-27 | Sun Microsystems, Inc. | Using render bin parallelism for rendering scene graph based graphics data |
US7231327B1 (en) | 1999-12-03 | 2007-06-12 | Digital Sandbox | Method and apparatus for risk management |
WO2001063561A1 (en) | 2000-02-25 | 2001-08-30 | The Research Foundation Of State University Of New York | Apparatus and method for volume processing and rendering |
US7414626B1 (en) | 2000-05-30 | 2008-08-19 | Autodesk, Inc. | System for passing algorithms with polymorphic parameter sets in a dependency graph of a graphic creation process |
US7659894B2 (en) | 2000-06-19 | 2010-02-09 | Mental Images Gmbh | Terminating spatial partition hierarchies by a priori bounding memory |
US7865306B2 (en) | 2000-09-28 | 2011-01-04 | Michael Mays | Devices, methods, and systems for managing route-related information |
US7176921B2 (en) | 2000-10-20 | 2007-02-13 | Sony Corporation | Graphical rewriting system for multimedia descriptions |
US6845358B2 (en) | 2001-01-05 | 2005-01-18 | Matsushita Electric Industrial Co., Ltd. | Prosody template matching for text-to-speech systems |
EP1223759A1 (en) | 2001-01-08 | 2002-07-17 | Robert Bosch Gmbh | Method for providing an extension code for a binary description for multimedia data |
US6897880B2 (en) | 2001-02-22 | 2005-05-24 | Sony Corporation | User interface for generating parameter values in media presentations based on selected presentation instances |
US7117216B2 (en) | 2001-06-07 | 2006-10-03 | Sun Microsystems, Inc. | Method and apparatus for runtime merging of hierarchical trees |
US6919891B2 (en) | 2001-10-18 | 2005-07-19 | Microsoft Corporation | Generic parameterization for a scene graph |
JP4075039B2 (ja) | 2002-02-19 | 2008-04-16 | 株式会社セガ | テクスチャマッピング方法、プログラム及び装置 |
US7439982B2 (en) | 2002-05-31 | 2008-10-21 | Envivio, Inc. | Optimized scene graph change-based mixed media rendering |
US7129943B2 (en) | 2002-11-15 | 2006-10-31 | Microsoft Corporation | System and method for feature-based light field morphing and texture transfer |
KR100443552B1 (ko) | 2002-11-18 | 2004-08-09 | 한국전자통신연구원 | 가상 현실 구현 시스템 및 방법 |
US7034835B2 (en) | 2002-11-29 | 2006-04-25 | Research In Motion Ltd. | System and method of converting frame-based animations into interpolator-based animations |
US7417645B2 (en) | 2003-03-27 | 2008-08-26 | Microsoft Corporation | Markup language and object model for vector graphics |
US7126606B2 (en) | 2003-03-27 | 2006-10-24 | Microsoft Corporation | Visual and scene graph interfaces |
US7173623B2 (en) | 2003-05-09 | 2007-02-06 | Microsoft Corporation | System supporting animation of graphical display elements through animation object instances |
US7444595B2 (en) | 2003-08-13 | 2008-10-28 | National Instruments Corporation | Graphical programming system and method for creating and managing a scene graph |
US7511718B2 (en) | 2003-10-23 | 2009-03-31 | Microsoft Corporation | Media integration layer |
US7432925B2 (en) | 2003-11-21 | 2008-10-07 | International Business Machines Corporation | Techniques for representing 3D scenes using fixed point data |
JP2005284694A (ja) | 2004-03-30 | 2005-10-13 | Fujitsu Ltd | 3次元モデルデータ提供プログラム、3次元モデルデータ提供サーバ、及び3次元モデルデータ転送方法 |
US7248265B2 (en) | 2004-04-16 | 2007-07-24 | Apple Inc. | System and method for processing graphics operations with graphics processing unit |
US7231632B2 (en) | 2004-04-16 | 2007-06-12 | Apple Computer, Inc. | System for reducing the number of programs necessary to render an image |
US7614037B2 (en) | 2004-05-21 | 2009-11-03 | Microsoft Corporation | Method and system for graph analysis and synchronization |
JP2008527540A (ja) | 2005-01-05 | 2008-07-24 | ヒルクレスト・ラボラトリーズ・インコーポレイテッド | ユーザインターフェイス用の分散ソフトウェア構成 |
EP1918880A3 (en) | 2005-04-19 | 2009-09-02 | Digitalfish, Inc. | Techniques and workflows for computer graphics animation system |
US20060274070A1 (en) | 2005-04-19 | 2006-12-07 | Herman Daniel L | Techniques and workflows for computer graphics animation system |
US7441230B2 (en) | 2005-10-07 | 2008-10-21 | Lucasfilm Entertainment Company Ltd. | Method of utilizing product proxies with a dependency graph |
US8400444B2 (en) | 2005-12-08 | 2013-03-19 | Agency 9AB | Method to render a root-less scene graph with a user controlled order of rendering |
US20070176926A1 (en) | 2006-01-31 | 2007-08-02 | Garcia Jose M D | Lighting states in a computer aided design |
US8024356B2 (en) | 2006-02-03 | 2011-09-20 | Autodesk, Inc. | Database-managed image processing |
US8773433B1 (en) | 2006-04-12 | 2014-07-08 | Pixar | Component-based lighting |
US7836086B2 (en) | 2006-06-09 | 2010-11-16 | Pixar | Layering and referencing of scene description |
FR2902908B1 (fr) | 2006-06-21 | 2012-12-07 | Streamezzo | Procede de creation et de restitution optimise du rendu d'une scene multimedia comprenant au moins un objet actif, sans modification prealable de la semantique et/ou du format de description de scene |
US8339402B2 (en) | 2006-07-16 | 2012-12-25 | The Jim Henson Company | System and method of producing an animated performance utilizing multiple cameras |
CA2593902A1 (en) | 2006-07-31 | 2008-01-31 | Avid Technology, Inc. | Efficient processing of operator graphs representing three-dimensional character animation |
TW200811756A (en) | 2006-08-23 | 2008-03-01 | Shu-Kai Yang | Computer graphics system and method thereof |
US20080122838A1 (en) | 2006-09-27 | 2008-05-29 | Russell Dean Hoover | Methods and Systems for Referencing a Primitive Located in a Spatial Index and in a Scene Index |
WO2008064363A2 (en) | 2006-11-22 | 2008-05-29 | Take Two Interactive Software, Inc. | System and method for real-time pose-based deformation of character models |
US7782319B2 (en) | 2007-03-28 | 2010-08-24 | Autodesk, Inc. | Three-dimensional orientation indicator and controller |
US20090021513A1 (en) | 2007-07-18 | 2009-01-22 | Pixblitz Studios Inc. | Method of Customizing 3D Computer-Generated Scenes |
US20090027380A1 (en) | 2007-07-23 | 2009-01-29 | Vivek Rajan | 3-D visualization |
US8223148B1 (en) | 2007-11-12 | 2012-07-17 | Adobe Systems Incorporated | Method and apparatus for computing indirect lighting for global illumination rendering in 3-D computer graphics |
US8274506B1 (en) | 2008-04-28 | 2012-09-25 | Adobe Systems Incorporated | System and methods for creating a three-dimensional view of a two-dimensional map |
US8612485B2 (en) | 2008-08-11 | 2013-12-17 | Sony Corporation | Deferred 3-D scenegraph processing |
CA2734332A1 (en) | 2008-09-24 | 2010-04-01 | The Bakery | Method and system for rendering or interactive lighting of a complex three dimensional scene |
US8441496B1 (en) | 2008-09-30 | 2013-05-14 | Adobe Systems Incorporated | Method and system for modifying and rendering scenes via display lists |
US8665274B2 (en) | 2008-10-01 | 2014-03-04 | International Business Machines Corporation | Method and system for generating and displaying an interactive dynamic view of bi-directional impact analysis results for multiply connected objects |
JP5605571B2 (ja) | 2008-10-07 | 2014-10-15 | 国立大学法人お茶の水女子大学 | 部分グラフ検出装置、部分グラフ検出方法、プログラム、データのデータ構造、及び情報記憶媒体 |
US8352443B1 (en) | 2008-11-08 | 2013-01-08 | Pixar | Representing scene description in databases |
US8730245B2 (en) | 2008-12-01 | 2014-05-20 | Naturalmotion Ltd. | Defining an animation of a virtual object within a virtual world |
US8411086B2 (en) | 2009-02-24 | 2013-04-02 | Fuji Xerox Co., Ltd. | Model creation using visual markup languages |
US8624898B1 (en) | 2009-03-09 | 2014-01-07 | Pixar | Typed dependency graphs |
US20100289804A1 (en) | 2009-05-13 | 2010-11-18 | International Business Machines Corporation | System, mechanism, and apparatus for a customizable and extensible distributed rendering api |
US9142044B2 (en) | 2009-05-26 | 2015-09-22 | Oracle International Corporation | Apparatus, systems and methods for layout of scene graphs using node bounding areas |
JP5406369B2 (ja) | 2009-06-17 | 2014-02-05 | コーヒレント・ロジックス・インコーポレーテッド | トレリスベースの方法およびそのシステム |
WO2010150150A1 (en) | 2009-06-25 | 2010-12-29 | Koninklijke Philips Electronics N.V. | Effect-driven specification of dynamic lighting |
US8369564B2 (en) | 2009-06-30 | 2013-02-05 | Apple Inc. | Automatic generation and use of region of interest and domain of definition functions |
US8352397B2 (en) | 2009-09-10 | 2013-01-08 | Microsoft Corporation | Dependency graph in data-driven model |
US20110090236A1 (en) | 2009-10-15 | 2011-04-21 | Microsoft Corporation | Graphic Object Data Binding |
US9171390B2 (en) | 2010-01-19 | 2015-10-27 | Disney Enterprises, Inc. | Automatic and semi-automatic generation of image features suggestive of motion for computer-generated images and video |
US8488783B2 (en) | 2010-02-19 | 2013-07-16 | Nokia | Method and apparatus for applying recipient criteria in identity-based encryption |
US8665266B2 (en) | 2010-06-23 | 2014-03-04 | The United States Of America, As Represented By The Secretary Of The Navy | Global visualization process terrain database builder |
US8629875B2 (en) | 2010-11-09 | 2014-01-14 | Qualcomm Incorporated | Constraint systems and methods for manipulating non-hierarchical objects |
US8892569B2 (en) | 2010-12-23 | 2014-11-18 | Ianywhere Solutions, Inc. | Indexing spatial data with a quadtree index having cost-based query decomposition |
FR2973907B1 (fr) | 2011-04-11 | 2013-04-26 | Bull Sas | Procede et dispositif de traitement de commandes d'administration dans un cluster |
US20120280991A1 (en) | 2011-05-03 | 2012-11-08 | Microsoft Corporation | Employing mesh files to animate transitions in client applications |
US9552212B2 (en) | 2011-05-06 | 2017-01-24 | Microsoft Technology Licensing, Llc | Caching intermediate data for scroll view rendering |
US9001128B2 (en) | 2011-05-06 | 2015-04-07 | Danglesnort, Llc | Efficient method of producing an animated sequence of images |
WO2012174128A1 (en) | 2011-06-13 | 2012-12-20 | Paneve, Llc | General purpose digital data processor, systems and methods |
US9508181B2 (en) | 2011-08-31 | 2016-11-29 | Adobe Systems Incorporated | Ordering and rendering buffers for complex scenes with cyclic dependency |
US9240073B2 (en) | 2011-11-15 | 2016-01-19 | Pixar | File format for representing a scene |
US9892528B2 (en) | 2012-08-03 | 2018-02-13 | Dreamworks Animation L.L.C. | Temporal dependencies in dependency graphs |
US10110412B2 (en) | 2012-10-17 | 2018-10-23 | Disney Enterprises, Inc. | Dynamically allocated computing method and system for distributed node-based interactive workflows |
EP2779100A1 (en) | 2013-03-11 | 2014-09-17 | Thomson Licensing | Method for processing a computer-animated scene and corresponding device |
-
2013
- 2013-03-14 US US13/831,309 patent/US9171401B2/en active Active
-
2014
- 2014-03-13 CN CN201480000143.0A patent/CN104508711B/zh active Active
- 2014-03-13 EP EP14714566.8A patent/EP2973412B1/en active Active
- 2014-03-13 WO PCT/US2014/026799 patent/WO2014152003A2/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005114589A1 (en) * | 2004-05-10 | 2005-12-01 | Pixar | Techniques for animating complex scenes |
WO2005114587A1 (en) * | 2004-05-10 | 2005-12-01 | Pixar | Techniques for rendering complex scenes |
CN101916324A (zh) * | 2008-11-17 | 2010-12-15 | 迪士尼企业公司 | 用于动画的依赖图评估的系统和方法 |
CN102053989A (zh) * | 2009-10-30 | 2011-05-11 | 国际商业机器公司 | 用于确定要被物化的节点的方法和系统 |
Non-Patent Citations (1)
Title |
---|
Coherent Hierarchical Culling: Hardware Occlusion Queries Made Useful;Jiri Bittner等;《EUROGRAPHICS》;20041231;第23卷(第3期);第1-10页 |
Also Published As
Publication number | Publication date |
---|---|
US9171401B2 (en) | 2015-10-27 |
US20140267288A1 (en) | 2014-09-18 |
EP2973412A4 (en) | 2016-12-07 |
WO2014152003A2 (en) | 2014-09-25 |
WO2014152003A3 (en) | 2014-12-04 |
EP2973412A2 (en) | 2016-01-20 |
EP2973412B1 (en) | 2019-06-19 |
CN104508711A (zh) | 2015-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11570372B2 (en) | Virtual camera for 3-d modeling applications | |
US10692277B1 (en) | Dynamically estimating lighting parameters for positions within augmented-reality scenes using a neural network | |
CN104508711B (zh) | 用于渲染计算机生成动画的资源分区 | |
US20190236838A1 (en) | 3d rendering method and apparatus | |
US8203558B2 (en) | Dynamic shader generation | |
CN104050701B (zh) | 渲染设置图 | |
US20190378340A1 (en) | Placing and solving constraints on a 3d environment | |
CN104050232A (zh) | 计算机生成动画资产的任意分层加标签 | |
Zhang et al. | Illumination estimation for augmented reality based on a global illumination model | |
CN104050694B (zh) | 渲染设置图中的For节点 | |
Weber et al. | Editable indoor lighting estimation | |
Zakharov et al. | Photo-realistic neural domain randomization | |
US9224239B2 (en) | Look-based selection for rendering a computer-generated animation | |
CN104050693B (zh) | 场景的程序式分割 | |
Krösl et al. | LiteMaker: Interactive Luminaire Development using Progressive Photon Tracing and Multi-Resolution Upsampling. | |
Pugh et al. | GeoSynth: A photorealistic synthetic indoor dataset for scene understanding | |
Celestino et al. | A bidirectional path tracing method for global illumination rendering on GPU | |
Liao | Visualization and Analysis of Vector Field Simulation Data | |
Li | Physically-Motivated Learning for Photorealistic Scene Reconstruction and Editing in the Wild | |
Goia et al. | Augmented Space Editor | |
Quan et al. | Illumination Recovery for Realistic Fluid Re-simulation | |
Solberg et al. | Gangway docking assistant | |
van Pelt | Illustrative volume rendering on consumer graphics hardware | |
Braganza et al. | 3D Modeling and Simulation using Image Stitching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |