CN1788283A - 镜头呈现方法和装置 - Google Patents

镜头呈现方法和装置 Download PDF

Info

Publication number
CN1788283A
CN1788283A CNA038265826A CN03826582A CN1788283A CN 1788283 A CN1788283 A CN 1788283A CN A038265826 A CNA038265826 A CN A038265826A CN 03826582 A CN03826582 A CN 03826582A CN 1788283 A CN1788283 A CN 1788283A
Authority
CN
China
Prior art keywords
group
image
present
cover
presenting
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.)
Granted
Application number
CNA038265826A
Other languages
English (en)
Other versions
CN100530243C (zh
Inventor
R·L·库克
T·D·S·达夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PI KESA
Original Assignee
Pixar
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Pixar filed Critical Pixar
Publication of CN1788283A publication Critical patent/CN1788283A/zh
Application granted granted Critical
Publication of CN100530243C publication Critical patent/CN100530243C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation

Abstract

一种用于计算机系统的方法(图3B)包括:接收要被呈现在第一图像(图3B,图像1)和第二图像(图3B,图像2)中的对象的几何说明,并且,为关于该第一图像(图3B,图像1)和关于该第二图像(图3B,图像2)的对象执行多项呈现操作(图3B,项目390和400),其中,这多项呈现操作(图3B,项目390和400)包括第一多项呈现操作(图3B,项目390)和至少一项第二呈现操作(图3B,项目400),其中,关于该第一图像(图3B,图像1)的对象的该第二呈现操作(图3B,项目400)和关于该第二图像(图3B,图像2)的对象的该第二呈现操作(图3B,项目400)实质上是类似的,其中,为该第一图像(图3B,图像1)执行这第一多项呈现操作(图3B,项目390),其中,为该第二图像(图3b,图像2)执行这第一多项呈现操作(图3B,项目390),并且,其中,为该第一图像(图3B,图像1)并为该第二图像(图3B,图像2)执行一次该第二呈现操作(图3b,项目400)。

Description

镜头呈现方法和装置
对相关申请的交叉参考
本发明涉及、并且出于各种目的并作为参考而并入以下于______提交的、代理人标签号为021751-000100US的待批专利申请《分镜头遮蔽方法和装置》。
版权通知
本专利文档的揭示说明的一个部分包含受版权保护的材料。版权所有者不反对任何人该专利文档或该专利揭示说明按照出现在专利和商标局专利文件或记录中的形式,进行传真复制,但保留所有版权权利。
背景技术
本发明涉及计算机动画制作。更具体地说,本发明涉及用于有效率地呈现有关的图像帧的技术和装置。
多少年来,影片制造者经常尝试讲述涉及虚假的创造物、遥远的地方和幻想的事物的故事。为了做到这一点,他们常常依靠使虚假物“充满生命”的动画制作技术。动画制作中的主要路径中的两条路径传统上一直包括基于绘图的动画制作技术和实体动画制作技术。
基于绘图的动画制作技术在二十世纪由诸如沃尔特·迪斯尼(Walt Disney)等影片制造者改进,并被用于诸如“白雪公主和七个小矮人”(“Snow Whiteand the Seven Dwarves”)和“Fantasia”(1940)等影片中。该动画制作技术通常要求艺术家将动画图像手工绘制(或上色)到透明介质或透明赛璐珞片上。在上色之后,每个透明赛璐珞片随后将会被捕捉或被记录到胶卷上,作为影片中的一个或多个帧。
基于实体的动画制作技术通常要求构造小型布景、道具和人物。电影摄制者将会构造布景,添加道具,并将小型人物摆好姿势。在动画片绘制者满意如何传讯每件事物之后,将会用那个特殊的布置来拍摄一个或多个胶片帧。诸如Willis O’Brien等影片制造者为影片“King Kong”(1932)开发实体动画制作技术。随后,诸如Ray Harryhausen等动画片绘制者为包括“The Mighty JoeYoung”(1948)和“Clash Of The Titans”(1981)的影片改进这些技术。
随着计算机在二十世纪后期具有普遍的可用性,动画片绘制者开始依靠计算机来辅助动画制作过程。这包括:例如,通过为图像上色、生成在中间的图像(“渐变动画”)、等等,来使用计算机促进基于绘图的动画制作。这也包括:使用计算机来增广实体动画制作技术。例如,实体模型可以由计算机存储器中的虚拟模型来表示,并可以被操纵。
计算机辅助动画制作(CAA)行业中具有开拓精神的公司之一是PixarIncorporated。Pixar既开发了特别为CAA设计的计算平台,又开发了现在称作“RenderMan”的动画制作软件。RenderMan在动画制作行业中被接收得特别好,并利用两个Academy Awards来加以识别。
本发明的指定发明者联合开发了原始RenderMan软件。在此期间,他提出了影响该软件的操作的若干工程假设。一项假设是:被存储在存储器中的场景的几何说明相对较小。该几何场景说明通常包括位置、对象、对象放置等的几何说明。指定的发明者也假设:输出图像帧的分辨率很大,并且无法被经济地存储在计算机程序存储器中。
按照这些假设,到呈现帧的时候,几何场景数据将首先从磁盘存储器移至程序存储器。然后,该帧将被再分成一系列较小的帧部分、称谓桶、以及出现在桶中的任何对象的各个部分,随后将会被呈现。然后,为该帧内剩余的桶重复这个过程,直到呈现该帧为止。这样,在开始下一个帧之前,该过程将在一个帧内呈现所有对象。在某些方面,RenderMan的动画制作过程类似于上述传统的动画制作技术,体现在:每次将呈现一个帧。虽然并行处理技术可用并被实施,但是,将仍然按不同于其他帧的方式来单独地、个别地呈现每个帧。
按照上述内容,本发明的发明者已认识到:需要在动画制作软件领域内进一步增强,以促进制作动画影片的过程。
发明概述
本发明涉及计算机动画制作领域。更具体地说,本发明涉及用于有效率地呈现有关的图像帧的技术和装置。
本发明表示计算机辅助动画制作领域内的呈现中的范例变化。发明者已认识到:通过使用不同的工程假设集,他们可以大大减少呈现时间。其中的一项假设是:对于存储在计算机程序存储器中而言,场景说明大且费用昂贵;另一项假设是:图像分辨率“小”,并且,图像(帧)可以被容易地存储在计算机程序存储器中。举例来讲,典型的场景说明可能是大约300千兆字节,图像可能是大约300兆字节。
通过做出这些假设,发明者已认识到:他们现在可以在一系列有关的图像(“分镜头”)中有效率地呈现对象,以减少总呈现时间。每个图像在这里也被称作“帧”或“图像帧”。为了实现这个新颖的概念,可使几何场景数据从硬盘流传送到呈现引擎——每次一个对象。然后,该呈现引擎为其中出现该对象的分镜头中的所有图像帧呈现每个对象。
例如,首先从磁盘驱动器中检索对象,并且,呈现引擎为该对象确定多边形切割模式。接下来,呈现引擎为对象执行该多边形切割模式上的位移映射。然后,呈现引擎对对象执行某些时不变遮蔽计算——即对于分镜头中的各个帧的对象而言是共同的遮蔽计算。这些前述的计算在这里被称为“分镜头特定”、“分镜头不变式”或“时不变”呈现。例如,关于包括80个帧的分镜头,呈现引擎为所有80个帧的对象执行遮蔽计算一次,而不是为80个不同的帧内的对象执行分镜头不变遮蔽计算80次。在本例的另一个实例中,呈现引擎执行遮蔽计算少于80次。
接下来,呈现引擎计算“图像特定”或“帧特定”呈现(例如,时变遮蔽计算)。关于每个帧,分镜头特定呈现结果和帧特定呈现结果随后被组合起来,以形成最后的图像帧。可以串行或进发地执行这些遮蔽操作。
根据本发明的一个方面,描述一种用于计算机系统的方法。一项技术包括:接收要被呈现在第一图像和第二图像中的对象的几何说明,并且,为关于该第一图像和关于该第二图像的对象执行多项呈现操作。在各种方法中,这多项呈现操作包括第一多项呈现操作和至少一项第二呈现操作——其中,关于第一图像的对象的第一呈现操作和关于第二图像的对象的第二呈现操作实质上是类似的。为第一图像执行一次这第一多项呈现操作,并为第二图像执行一次这第一多项呈现操作。另外,为第一图像和第二图像都执行一次该第二呈现操作。
根据本发明的另一个方面,描述一种用于在多个图像中呈现多个对象的方法。各种技术包括:从关于来自这多个图像的每个图像的这多个对象中呈现第一对象。该呈现包括为关于来自这多个图像的每个图像的该第一对象执行的第一组呈现操作、以及为关于来自这多个图像的一个以上的图像的该第一对象执行一次的第二组呈现操作。
根据本发明的再另一个方面,揭示一种用于在多个图像中呈现多个对象的计算机系统。该计算机系统包括被配置成存储包括N个图像的这多个图像的存储器、以及处理器。该处理器被配置成:为来自这多个对象的第一对象执行第一组呈现操作N次,并为来自这多个图像的每个图像执行第一组呈现操作一次。该处理器也被配置成:对于这多个图像为来自这多个对象的该第一对象执行第二组呈现操作M次,其中,M<N。
根据本发明的一个方面,描述一种用于遮蔽包括第一图像和第二图像的多个图像中的对象的方法。一项技术包括:接收第一对象的几何说明,并且,响应于第一对象的几何说明,为第一图像和第二图像执行一次关于第一对象的第一遮蔽操作集。方法也可以包括:为第一图像中的第一对象执行第二遮蔽操作集,并且,为第二图像中的第一对象执行第三遮蔽操作集。各种方法也包括:组合关于第一对象的第一遮蔽操作集的结果和关于第一对象的第二遮蔽操作集的结果,以确定第一图像中的第一对象的遮蔽值;并且,组合关于第一对象的第一遮蔽操作集的结果和关于第一对象的第三遮蔽操作集的结果,以确定第二图像中的第一对象的遮蔽值。
根据本发明的另一个方面,描述一种用于遮蔽N数量的图像中的多个对象的方法。一项技术包括:一次为来自关于N数量的图像的多个对象的对象执行遮蔽计算。另外,响应于关于该对象的几何数据,来执行关于该对象的遮蔽计算的第一集合不超过M次——其中,M比N小。
根据本发明的再另一个方面,揭示一种用于遮蔽包括处理器的计算机系统中的多个图像中的对象的计算机程序产品。该计算机程序产品可以包括指示该处理器为N数量的图像执行关于第一对象的第一遮蔽操作集M次的代码、指示该处理器为该N数量的图像执行关于该第一对象的第二遮蔽操作集N次的代码、以及指示该处理器组合关于第一对象的该第一遮蔽操作集和关于第一对象的该第二遮蔽操作集以便为N数量的图像确定关于第一对象的遮蔽值的代码。在各个实施例中,M<N。这些计算机代码通常驻留在诸如易失性存储器、光存储器、硬盘驱动器、网络存储驱动器、或类似物等有形介质上。
附图简述
为了更充分地理解本发明,可参考附图。可理解这些附图将不被认为是本发明的范围内的限制,通过使用附图,来额外详细地描述目前所描述的实施例以及目前所理解的本发明的最佳模式。在这些附图中:
图1展示了根据本发明的一个实施例的呈现系统的框图;
图2是展示本申请中所使用的术语的图表;
图3A-C展示了根据本发明的实施例的流程的框图;以及,
图4A-B展示了本发明的实施例的例子。
发明详述
图1是根据本发明的实施例的典型的计算机呈现系统100的框图。
在本实施例中,计算机系统100通常包括监视器110、计算机120、键盘130、用户输入设备140、网络接口150等。
在本实施例中,用户输入设备140通常被具体表现为计算机鼠标、跟踪球、跟踪板、无线电遥控等。用户输入设备140通常允许用户选择出现在监视器110上的对象、图标、文本等。
网络接口150的实施例通常包括以太网卡、调制解调器(电话、卫星、电缆、ISDN)、(异步)数字订户线(DSL)单元等。网络接口150通常被耦合到如所示的计算机网络。在其他实施例中,网络接口150在物理上可以被集成在计算机120的母板上,可以是软件程序(例如,软DSL)或类似物。
计算机120通常包括常见的计算机组件(例如,处理器160)和记忆存储设备(例如,随机存取存储器(RAM)170、磁盘驱动器180、以及互连以上组件的系统总线190)。
在一个实施例中,计算机120是具有多个微处理器(例如,来自英特尔公司的XeonTM微处理器)的PC兼容计算机。另外,在本实施例中,计算机120通常包括基于UNIX的操作系统。
RAM 170和磁盘驱动器180是用于存储数据、音频/视频文件、计算机程序、小应用程序解释程序或编译程序、虚拟机的有形介质的例子这里所描述的本发明的实施例包括几何场景数据、对象数据文件、遮蔽形成器(shader)描述符、呈现引擎、输出图像文件、纹理映射、位移映射等。其他类型的有形介质包括软盘、可移动硬盘、光存储介质(例如,CD-ROMS和条形码)、半导体存储器(例如,快闪存储器、只读存储器(ROMS)、电池支持的易失性存储器、网络化存储设备等)。
在本实施例中,计算机系统100也可以包括启用网络上的通信(例如,HTTP、TCP/IP、RTP/RTSP协议等)的软件。在本发明的选择性实施例中,也可以使用其他通信软件和传输协议(例如,IPX、UDP或类似物)。
图1表示能够具体表现本发明的计算机呈现系统。掌握该技术领域的普通技能的人将会容易明白:许多其他的硬件和软件配置适用于本发明。例如,预期使用其他微处理器(例如,PentiumTM或ItaniumTM微处理器;来自AdvancedMicro Devices公司的OpteronTM或AthlonXPTM微处理器;来自摩托罗拉公司的PowerPC G3TM、G4TM微处理器;等等)。另外,预期其他类型的操作系统(例如,诸如来自微软公司的WindowsXP、WindowsNT或类似物的Windows操作系统;来自Sun微系统公司的Solaris;来自苹果计算机公司的LINUX、UNIX、MAC OS;等等)。
图2是展示本申请中所使用的术语的图表。特别是,如所展示的,为每个图像定义虚拟照相机200。虚拟照相机200与图像平面210相关联,图像平面210定义该图像将被记录到那里的二维平面。从图像平面210那里,定义屏幕窗口220,该屏幕窗口220定义要被呈现的图像的外部边界。像素位置230随后被定义在屏幕窗口220内。
在本发明的一个实施例中,屏幕窗口220具有2000个水平像素和1000个垂直像素的像素分辨率。在本发明的其他实施例中,设想了水平或垂直方向上的较高或较低像素分辨率。
图3A-C展示了根据本发明的实施例的流程的框图。更具体地说,该框图揭示了一个过程——其中,实质上同时或在时间上接近地呈现动画的单独的帧(图像)。
在本实施例中,实质上同时要被呈现的这些单独的帧被称为图像的“分镜头”。分镜头可以包括动画的两个或更多帧,并且可以包括时间上相继的帧,可以包括表示相同时间的帧(但用不同的照相机、照明等),或者可以包括在时间上分开的帧。
在本发明的一个实施例中,在步骤300中,过程始于要被呈现的图像的规定。在这个例子中,图像规定包括:一个或多个场景背景的规定;这些图像中的对象和纹理的规定;要被应用于这些图像的照明的规定;对象放置数据的规定;关于场景中的对象、位移映射等的动画参数的规定。通常,图像由一个或多个动画片绘制者使用常规三维建模技术和当前可用的软件来加以规定。例如,可以使用诸如Alias|Wavefront’s MayaTM软件等软件来规定场景。
在本例中,背景的规定通常包括以上所描述的对象被放入其中的位置或“布景”的几何规定。该几何规定可以包括几何边界、一幅或多幅“环境”映射图等。这些环境映射图可以是静态的,或者可以随时间的推移而改变。在本发明的例子中,布景可以表示放置对象的任何位置(例如,房间、内部位置、外部位置等)。
动画片绘制者将对象放入或定位在布景中。这些对象可以是场景内的无生命的对象(例如,家具、植物、车辆等)。此外,这些对象可以是在场景内移动或被移动的对象(例如,人物、椅子、门等)。在本实施例中,对象可以从简单到复杂——一些对象用一个或多个较小的对象构成。在一些实施例中,只可以从存储器中检索对象的一些部分,并且,在被呈现之前,动态地创建这些对象的其余部分。仅仅作为例子,影片Monsters公司TM中的人物SulleyTM包括超过三百万个毛发对象,但是,只有大约一百万个毛发对象被存储在存储器中——其余的两百万个毛发对象在运行中生成。在这类情况中,动态创建的对象被称为“过程式生成的对象”。
在本实施例中,通常彼此分开地存储对象。也就是说,每个对象可以被存储在其自己的文件中,并由计算机文件系统来检索。在本发明的其他实施例中,关于一个以上的对象的数据可以被包括入单个文件。
图像中的对象规定也可以包括这类对象的表面处理规定。例如,图像中的单个对象可以与多项表面处理相关联(例如,规定基础纹理、尘土、磨损、突出、位移、数学方程式等的纹理映射)。在本实施例中,这些表面处理通常被存储为与对象分开的文件。在其他实施例中,对象和相关联的表面处理可以被集成到单个文件中。
在图像中放置或定位对象的位置通常由动画片绘制者来规定。关于在图像内不移动的一些对象,放置位置是静态的——即分镜头不变的。但是,关于在分镜头中移动的对象,放置数据通常表示关于对象的原始位置和/或方位。然后,由动画参数来确定当移动对象在不同的图像内移动时它的位置。
在本实施例中,每个场景通常包括光源和照明参数的规定。照明数据可以包括光源、光的类型(例如,漫射光、点光)、照明位置、照明方向等。该照明数据可以被存储在单个文件或多个文件内。
在这个例子中,关于在场景中移动的对象的动画数据通常可以包括移动对象最初被放置在该场景中的何处的规定,并且包括关于特殊对象在图像内的何处移动的数据。在本实施例中,该数据可以规定空间中特殊的点,或者可以规定确定空间中的点的方程式,如此等等。许多常规方法可以被用来规定动画数据。在这个实施例中,动画数据可以被存储在单独的文件中,或者可以与上述数据元素中的一个或多个数据元素相组合。
在图3A中,所展示的下一个步骤是:在步骤310中,识别将构成图像的“分镜头”的多个图像。在一个实施例中,该分镜头可以包括顺序帧。在其他实施例中,分镜头可以包括使用相同的几何背景和对象但在不同的时间(非顺序帧)的多个图像,分镜头可以包括使用相同的几何背景和对象但来自不同的照相机角度(“角度”)的多个图像。在另一个实施例中,分镜头可以包括使用具有“归为同类的”呈现参数的相同的几何数据和对象的多个图像。换言之,分镜头中的这些图像可能具有几乎实质上相同的呈现参数,但具有归为同类的一个(或多个)呈现参数,这在常规摄影术(例如,+1EV、+0EV、-1EV调整)中是常见的。在本发明的实施例中,可归为同类的呈现参数可以包括一个或多个光强度的变化、表面纹理构造的变化(例如,表面粗糙度)、光位置的变化、“挡光板”光边界的变化、纹理噪声频率的变化(具有频率控制的基于过程的纹理的噪声)、等等。在这些情况中,可以为分镜头执行切割、表面隐藏、以及大部分的遮蔽操作等一次。在以下的实施例中,分镜头内的图像通常共享类似的几何场景数据、对象数据等。
在这个实施例中,在步骤320中,“第一对象”被呈现系统估计为最接近关于分镜头中的不同图像的图像平面的对象。在本实施例中,呈现系统可以根据对象放置数据来估计哪个对象最接近照相机。在其他实施例中,任何对象都可以被选为“第一对象”,例如,最不复杂的对象、出现在分镜头中的最多数量的图像中的对象、被选择的对象(例如,主要人物)等。
在本发明的一个实施例中,随后在步骤330中请求对象。在这个例子中,该请求可能是关于来自包括该对象和/或其他对象的本地磁盘驱动器或网络驱动器的文件。由于该对象可以由两个或更多子对象构成,因此,数据文件可以包括多个子对象的规定。在本实施例中,典型的场景说明很大,仅仅举例来讲,在300千兆字节或更大的数量级。相应地,发明者已确定:每次可以从场景说明数据中处理一个对象。
响应于该请求,在步骤340中,将对象存储在程序存储器中。在一个实施例中,使用流技术,以便呈现引擎可以开始处理对象,尽管整个数据文件还没有被存储器完全地检索。在其他实施例中,在从存储器中检索它之后,呈现引擎开始处理对象。对象通常由一个或多个几何或建模图元构成。
在本发明的一个实施例中,根据对象的最初规定来动态地确定对象。例如,对象的各个部分可以被规定并被存储在网络驱动器或类似物上。接下来,当请求对象时,可以使用被规定的对象的这各个部分来动态地构造对象的其余部分。
在本实施例中,在步骤350中,一旦规定对象,就将几何图元分解成多边形网格或栅格。“将对象分解成各个小多边形”的过程被称为“切割”,这是该行业中可理解的。可以使用许多常规技术来切割对象,例如,切割可以将对象划分为各个三角形、四边多边形等。在本实施例中,这些小多边形中的每个多边形被设置成具有图像平面中的像素的近似相同的尺寸,尽管在其他实施例中,尺寸可能更小或更大些。在这个例子中,小多边形的顶点被识别,并且,顶点的坐标位置被存储在程序存储器或磁盘存储器中。
在本实施例中,只有当对象是其离关于分镜头中的所有图像的图像平面最近的位置时,才较佳地切割对象一次。通过这样做,当对象出现在分镜头中的其他图像中时,呈现系统不需要重新切割该对象。在其他实施例中,如果分镜头中不同的图像之间在对象的尺寸上存在很大差异,那么,呈现系统可以确定:重新切割对象可能是有利的。图4A-B展示了这些实施例的例子。
图4A-B展示了本发明的实施例的例子。在图4A中,对象出现在一个帧内是作为对象500,出现在另一个帧内是作为对象510。可见,对象500已使用常规算法加以切割,并且,最后得到的多边形栅格包括56个顶点。在一个实施例中,关于图像中的对象410,呈现系统可以使用相同的多边形栅格(56个顶点)。通过这样做,当呈现对象时,呈现引擎不需要重新切割对象。
在另一个实施例中,呈现系统可以选择性地重新切割先前切割过的对象。例如,在图4B中,对象出现在一个帧内是作为对象520,出现在另一个帧内是作为对象530。对象520的最初切割由规定98个顶点的多边形栅格来示出。然后,当在分镜头内的其他图像中呈现对象时,可以使用该切割。但是,在一些情况中,呈现引擎可以确定:应该重新切割对象。例如,如果对象看起来是作为关于分镜头中的大量图像的对象530,那么,呈现引擎可以确定:被用于对象520的切割对于大多数图像而言是不需要的。相应地,如对象530(26个顶点)中所展示的,呈现引擎可以重新切割对象,并将该切割用于分镜头中不同的图像中的对象。这类实施例将会减少对象的呈现时间。
返回到图1,呈现引擎接下来对对象执行位移映射操作。位移映射的概念是由本申请的指定发明者Robert L.Cook首先采用的。利用位移映射,可以容易地为对象表面提供微小的几何表面细节(例如,突出、凹槽、表层、粗糙度、或甚至图案)。
在本实施例中,呈现引擎实施以下进一步描述的位移“遮蔽形成器”,以执行该映射。在步骤360中,在操作中,呈现引擎从以上的切割过程中检索顶点P,然后检索偏移向量集。接下来,在步骤370中,呈现引擎根据各自的偏移向量来偏置顶点P的位置。在本实施例中,该偏移向量集可能是随机噪声类型图案、方程式、预定图案、或类似物。另外,这些偏移向量可能沿对象的表面(x,y方向),与各自的顶点P正交(+/-z方向),或类似的情况。
在以下所描述的遮蔽过程期间,根据顶点P的位移后位置,为每个顶点P计算法向量N。在本实施例中,这些位移后向量位置可以被存储在程序存储器中或被存储在磁盘上。
在本发明的一个实施例中,当呈现分镜头中的所有图像时,很少数量的(有时只有一个)切割方案和一个位移后顶点集被用于对象。本发明的发明者已发现:当呈现关于分镜头中的多个图像的对象时,如果从一个图像到另一个图像使用切割方案和位移后顶点的不同集合,那么,可能会在对象的表面上出现不合需要的效果。例如,如果切割比率对于分镜头中不同的图像而言是不同的,那么,表面可能似乎是波动或移动的。相应地,为了减少分镜头内对象的表面中的非意向的变更,在呈现对象的过程中只使用一个切割比率。
在其他实施例中,可以使用位移后偏移向量的一个以上的集合来表示分镜头中不同的图像中的对象。在图4B所展示的例子中,当对象在分镜头内不同的图像内动态地更改尺寸时,呈现引擎可以为该对象使用不同的切割方案以及不同的位移后偏移顶点集。例如,当对象接近于图像平面(例如,对象520)时,呈现引擎可以为分镜头中一个以上的图像中的对象使用第一位移后偏移顶点集。另外,当对象远离图像平面(例如,对象530)时,呈现引擎可以为分镜头中一个以上的图像中的对象使用第二位移后偏移顶点集。
在本发明的其他实施例中,也可以实施块形映射技术。例如,通过使用块形映射技术,可修改与每个各自的顶点P相关联的法线N,以形成修改过的法线集。该修改过的法线集随后被呈现引擎用来计算分镜头中的图像中的对象的外观。但是,与位移映射对比而言,顶点P实际上没有被移动或移位。在本实施例中,以上操作(步骤340-370)是时不变或分镜头特定呈现操作。换言之,这些呈现操作对于分镜头中一个以上的帧而言是相同的或实质上类似的。相应地,为了减少呈现时间,不为分镜头中的所有帧重复这些实质上类似的呈现操作,例如,从存储器中提取几何数据一次,执行顶点位移一次、等等。许多其他类型的时不变呈现操作可以被包括在其他实施例中——例如,纹理构造操作、过程式的几何数据生成、等等。
返回到图3A-C中所展示的实施例,通常为分镜头中的每个图像执行以下步骤中的一些步骤。换言之,通常为分镜头中的每个单独的图像的上下文中的对象执行以下所描述的步骤中的一些步骤——即图像或帧特定的,而不是分镜头特定的。
从实施观点来看,在一个实施例中,每个对象的呈现可能与呈现引擎内的进发处理线程相关联。在一些实施例中,呈现引擎通常在多线程操作系统上运行,相应地,可以在不同的时间执行这些处理线程。例如,可以实质上同时执行一些处理线程,一些处理线程可以在其他处理线程前面完成,一些处理线程可以重叠,等等。在实施例中,可以安排这些处理线程实质上同时或顺序地加以运行。在其他实施例中,每个分镜头的呈现与一个处理线程相关联。
呈现过程在图3A-C中继续。在这个实施例中,对象通常定位在关于每个图像的坐标系内。明确地说,如果必要的话,对象可以被定标到它将出现在该图像中的尺寸,并且在正确的方位中定向(总起来说是定位数据)。在一个实施例中,为了做到这一点,呈现引擎通过关于每个图像的对象的各自的定位数据来修改关于每个图像的位移后偏移顶点集。在其他实施例中,可以对对象执行额外的操作——包括变形等。
接下来,在步骤380中,执行关于对象的命中测试过程。在这个实施例中,命中测试包括:将对象中的每个顶点的位置与z缓冲器中的数据进行比较。这样,关于比该z缓冲器中的任何数据更接近于图像平面的每个顶点,该顶点被认为是可见的,因而潜在地是可呈现的。同样,如果对象的顶点具有比z缓冲器中的数据更大(离图像平面更远)的z深度,那么,隐藏那个顶点。这样,发明者认识到:不需要呈现隐藏的顶点,从而减少呈现时间。
在本实施例中,随后用来自对象的深度信息来更新z缓冲器。然后,该z缓冲器数据可以被用于关于要被呈现的下一个相继的对象的命中测试操作。
在本实施例中,额外的测试是将每个顶点与图像平面中的屏幕窗口的外部尺度进行比较。换言之,命中测试可以包括:确定对象中的每个顶点是否具有在要被呈现的图像内的x-y值。该屏幕窗口内的顶点潜在地是可呈现的,并且,该屏幕窗口以外的顶点不需要被呈现。在这个步骤完成之后,关于对象在那里潜在地是可见的每个图像,既在该屏幕窗口内、又是可见的对象的顶点的位置随后被存储在程序存储器或磁盘存储器中。
在这个实施例中,如所展示的,为分镜头中的每个图像执行这个步骤,即,命中测试对于每个图像而言是特定的。这是因为:对象可能在不同的图像中的不同方位中,照相机参数(例如,位置、方向、视场)可以从一个图像到下一个图像变化,等等。由于呈现引擎通常无法依靠一个图像到下一个图像中的对象的命中测试结果,因此,通常为对象在其中潜在地是可见的每个图像执行这个步骤。在本发明的实施例中,这些过程可以彼此无关地独立产生,它们可以是顺序的、并行的、重叠的、等等。在一个实施例中,命中测试操作是图像特定呈现操作。也可以执行许多其他类型的图像特定呈现操作(例如,其他可视性操作、光线跟踪操作等)。
在其他实施例(例如,以上所描述的“归为同类”实施例)中,分镜头中不同的图像可能已将呈现参数归为同类,但剩余的呈现操作保持实质上相同。例如,在命中测试的情况中,如果场景中的对象的方位不移动并且/或者照相机被“锁定”,那么,命中测试不是图像特定的,而是时不变的。相应地,只需要为分镜头执行一次命中测试操作。
在本发明的其他实施例中,某些呈现操作对于分镜头中的一些对象而言可能是图像特定的,对于分镜头中的其他对象而言可能是时不变的。换言之,一些呈现操作对于图像中的一个对象而言可能是图像特定的,但对于该图像中的另一个对象而言可能是时不变的。例如,在背景对象被锁定的分镜头中,关于该分镜头中的图像中的那些对象的命中测试操作可能是时不变的,并且,如果前景对象移动,则关于图像中的那些对象的命中测试操作是时变的或图像特定的。作为另一个例子,运行于背景对象上的遮蔽操作在分镜头中可能是时不变的,而运行于前景对象上的相同的遮蔽操作可能是时变的和图像特定的。在其他实施例中,在分镜头内,关于对象的一些呈现操作对于分镜头中的第一帧集而言可能是时不变的,对于分镜头中的第二帧集而言可能是时变的。按照本专利申请,掌握该技术领域的普通技能的人可以将这些概念应用于这里没有明确揭示的许多其他的实施例。
在这个实施例中,以下步骤表示对象遮蔽过程。Pixar的呈现技术使用“遮蔽语言”来描述光和表面的交互作用。更明确地说,利用RenderManTM,Pixar引入遮蔽语言,它描述光源的输出以及图像中的对象的表面如何削弱光。
在当前的实施例中,典型的遮蔽形成器包括可能会或可能不会随时间的推移而改变的遮蔽函数和参数。关于不会为分镜头中的各个图像之间的对象而改变的函数和参数,这类遮蔽函数被称为“不变的”遮蔽函数(分镜头特定的)。另外,为分镜头中的各个图像之间的对象而改变的遮蔽函数被称为“可变的”遮蔽函数(图像特定的)。
以下展示关于用塑料制成的对象的简单表面遮蔽形成器的例子:
surface
paintedplastic(float Ka=1,Kd=.5,Ks=.5,roughness=.1;
           color specularcolor=1;
           string texturename=“texture”;)
{
extern vector N,I;
extern color Cs;
  color Ct=Cs;
  if(texturename!=“”)
      Ct*=color texture(texturename);
  normal Nf=faceforward(Normalize(N),I);
  vector V=-normalize(I);
  Ci=Ct*(Ka*ambient()+Kd*diffuse(Nf))+
      Specularcolor*Ks*specular(Nf,V,roughness);
  Oi=Os;
  Ci*=Oi;
}
关于这个遮蔽形成器:
Ka表示用户定义的环境光参数;
Kd表示用户定义的漫射光参数;
Ks表示用户定义的镜面参数;
roughness表示用户定义的表面粗糙度参数;
N表示来自表面位置的法向向量;
I表示从观察位置到表面位置的向量;
Nf表示朝向观察位置的N的向量分量;
V表示从表面位置到观察位置的法向向量;
specularcolor表示用户定义的镜面颜色参数;
texture表示纹理映射的用户定义的文件名;
Cs表示对象的默认表面颜色参数;
Ct表示乘以纹理映射”texture”的默认表面颜色参数;
函数ambient()返回非定向光的光作用;
函数diffuse(Nf,V)返回来自广泛、均匀地散射的反射的近似的光作用;
函数specular(Nf,V,roughness)返回来自光源的因表面的镜面反射而产生的光作用;以及,
Ci表示关于对象的本地照度模型。
通过使用以上的例子,这些参数中的许多参数(例如,Ka、Kd、Ks、roughness、texture、specularcolor等)通常贯穿分镜头而保持恒定(分镜头特定的)。但是,这些参数可以被定义为时间函数,即,可以是时变遮蔽函数(图像特定的)。例如,如果对象和光在分镜头内相对于彼此移动,那么,这类参数可以改变。作为另一个例子,为了呈现在分镜头期间更改颜色的变色龙类型对象,参数Cs可以随时间的推移而改变。
在大量的情况中,关于对象的其他遮蔽参数中的一些遮蔽参数是时间函数(图像特定的)。例如,当照相机在各个图像帧之间移动时,向量I改变;当在各个图像帧之间增加、减少或重新定位光时,函数ambient()、diffuse()和specular()改变。发明者已认识到:通常提早知道时变和时不变遮蔽函数。相应地,发明者可以对呈现引擎识别时不变遮蔽函数和时变遮蔽函数。
在本实施例中,呈现引擎提早从动画片绘制者那里接收该遮蔽信息。在步骤390中,该信息通常识别到遮蔽计算的哪些输入不取决于关于对象的时间(分镜头不变的)以及哪些计算取决于时间(图像特定的)。
在本实施例的其他实施例中,通过分析遮蔽形成器为对象而使用的输入,呈现引擎可以自动动态地识别或确定关于对象的哪些遮蔽计算对于分镜头中的帧而言是相同的。用于执行这一点的方法可以包括:呈现引擎确定哪些遮蔽操作具有对于分镜头中不同的帧而言是变化的输入参数。
在步骤400中,呈现引擎接下来为对象执行时不变遮蔽计算。例如,参考以上的遮蔽代码,如果默认表面颜色Cs和纹理映射不取决于时间,那么,可以为关于分镜头的对象计算Ct。通常,这些计算会产生关于对象的一个或多个中间分镜头遮蔽值。这些中间遮蔽值可以被存储在程序存储器中或被存储在磁盘存储器上。
接下来,在步骤410中,为分镜头中的每个图像中的对象计算时变遮蔽函数。例如,如果一个或多个光在一系列图像中移动或被打开/关闭,或者对象或照相机在各个图像之间移动,那么,为每个图像执行函数specular(Nf,V,roughness)。这些中间图像遮蔽值也可以被存储在程序存储器中或被存储在磁盘存储器上。
在当前的实施例中,在步骤420中,关于每个图像,呈现引擎随后为分镜头中的对象执行最后的遮蔽计算。在一个实施例中,用数学方式组合关于对象的中间分镜头遮蔽值和中间图像遮蔽值,从而产生关于对象的大多数栅格位置的最后遮蔽值。在本实施例的其他实施例中,可以一起执行步骤410和420。例如,中间分镜头遮蔽值可以被用作到步骤410的输入,以便在单一步骤中确定关于对象的最后遮蔽值。
在本发明的实施例中,步骤410和420不需要有顺序。例如,在其他实施例中,步骤420可以在步骤410之后。在另外的其他实施例中,时不变遮蔽计算与时变遮蔽计算交错。例如,执行一项时不变呈现操作,执行两项时变呈现操作,执行另一项时不变呈现操作,执行另一项时变呈现操作,等等。这个过程可以继续进行,直到执行所有呈现操作为止。在另一个实施例中,在第一项时不变呈现操作之前执行时变呈现操作。
在本发明的实施例中,呈现操作(时不变的和/或时变的)可以依赖或不依赖原先的呈现操作的结果。也就是说,在一个实施例中,第一项呈现操作的结果可以被相继的呈现操作使用。在各个实施例中,可能会或可能不会直接在第二项呈现操作之前执行该第一项呈现操作。
以上遮蔽过程的结果通常是从可见的多边形栅格位置被映射的彩色值二维栅格。在本实施例中,在步骤430中,随后内插该彩色值二维栅格,以确定命中测试位置处的表面的值;随后内插这些值,以确定屏幕窗口中的像素。作为选择,关于一些对象,可能需要在命中测试位置(而不是在多边形栅格位置)执行总帧遮蔽操作中的一些操作。这有关于呈现诸如运动模糊操作等操作——例如,对象通过聚光灯移动。
在本发明的实施例中,可以使用从栅格到命中测试位置再到屏幕窗口的内插的任何常规方法——例如,诸如4×4或11×11等取样矩阵。也可以使用用于确定像素值的许多其他的方法(例如,双线性内插等)。额外的实施例可以利用美国专利4,897,806中所揭示的发明,它被让与同一受让人并出于各种目的而被包括于此。
在本实施例中,在步骤440中,随后为其中呈现对象的每个图像存储表示对象的屏幕窗口中的像素值。在一个实施例中,如果对象是要被呈现的对象,那么,整个2000×1000像素屏幕窗口可以被存储在程序存储器、磁盘存储器、网络存储存储器、或类似物中。如果对象是第二或随后的对象,那么,在这个实施例中,只更新表示这类对象的那些像素。在另一个实施例中,为了用新近呈现的对象更新图像,过程可以实施以下内容:新图像=老图像+关于分镜头中的每个图像的新对象。
然后,在步骤450中,可以为分镜头中随后的对象重复上述过程,直到呈现分镜头中的所有对象为止。在步骤460中,当所有对象都已被呈现时,分镜头中最后得到的图像随后可以被输出用于观看,被转换成模拟形式(例如,胶卷、录像带),被格式化用于数字媒体输出设备,等等。
在本发明的一个实施例中,典型的分镜头可以表示1秒至30秒的图像。在本例中,每秒近似地有24个图像帧,相应地,分镜头可以是从24到720个图像帧。在其他实施例中,分镜头可以是从12个帧到1000个帧,可以是从2到2400个帧或更多帧,等等。
在操作中,相信:通过使用本实施例的各个实施例,可以实现呈现时间的大量节省。例如,为了呈现典型的动画影片,呈现时间的上至90%可能归因于遮蔽,10%可能归因于其他呈现步骤(例如,隐藏、位移映射等)。在这90%中,该时间的50%可能归因于图像特定的遮蔽,该时间的另50%可能归因于分镜头不变遮蔽。通过使用本发明的实施例,在这个例子中,事实上可以消除分镜头不变遮蔽时间,这样,总呈现时间几乎可以削减一半(~55%)。在其他实施例中,所实现的典型效率被估计从2到10倍;在另外的其他实施例中,它被估计是从10倍到1000倍,用于呈现帧的分镜头。如上所述,当呈现“归为同类”的分镜头时,相信可以实现后一个范围。在其他实施例中,可以实现更高或更低的效率。
在前述说明书中,已参照其特殊的示范实施例来描述本发明。容易想象许多更改或修改。按照以上的揭示说明,掌握该技术领域的普通技能的人将会认识到:任何数量的额外的呈现步骤都可以被引入以下所描述的呈现过程。按照以上的揭示说明,将会认识到:关于对象,这类额外的呈现步骤可以具有图像特定函数(时变的)和分镜头特定函数(时不变的)。相应地,将会认识到:可以为全部分镜头而只对对象执行一次分镜头特定呈现。另外,将会认识到:可以对关于每个图像的对象执行图像特定呈现函数。然后,分镜头特定呈现函数将会与图像特定呈现函数组合,以形成分镜头中的图像。可以想象:当前与RenderMan兼容的大量遮蔽形成器可以被用于本发明的实施例中。
以上的流程图可以作为计算机代码来加以实施,并且可能会或可能不会被编译成处理器可执行代码。这些代码作为程序而被存储在有形介质(例如,本地磁盘驱动器、网络存储驱动器、或类似物)中。在选择性实施例中,这些代码可以由另一个程序动态地生成。例如,第一程序可以被用来在运行中生成按上述方式进行操作的可执行程序。
在本发明的实施例中,发明者已确定:本模式的优点可以被应用于其他呈现技术(例如,运动模糊、景深、光线跟踪、MIP映射、纹理映射、加亮、几何数据检索、过程式的几何数据生成等)。
本发明的实施例可以被应用于任何数量的呈现平台并被用于各种目的。例如,实施例可以用在工程工作站上用于开发目的,可以为艺术家和动画片绘制者而用在可视化系统上,可以为成品而用在呈现农业机械中,等等。相应地,上述概念在各种应用中非常有价值。
在一个实施例中,可以并行地处理关于N数量的对象的分镜头特定操作的执行。在本发明的另一个实施例中,这些过程中的每个过程可以被具体表现为单独的、无关的执行过程。通过使用多线程操作系统,过程可以实质上同时执行,可以只是在时间上重叠,等等。在并行处理器环境中,过程实际上可以并行地加以执行。在另一个实施例中,一些过程实际上可以在其他过程之前完成。在一个实施例中,如果有N个对象,那么,呈现系统产生M个过程——其中,M≤N。
在以上的揭示说明中,示出为分镜头执行一些分镜头特定过程一次。但是,应该理解:可以实现实施例,以便如果有N个图像,则呈现系统执行分镜头不变过程M次——其中,N>M≥1。
以上实施例将步骤340-370中的时不变呈现计算展示为在步骤380中的图像特定呈现计算之前加以执行,但是,应该理解:也可以颠倒顺序。在本发明的其他实施例中,时不变呈现计算和图像特定呈现计算可以交错或在中间,也就是说,当利用多个呈现计算来呈现对象时,可以在各个时不变呈现计算之间执行图像特定呈现计算。另外,交错的呈现操作可以在对象的逐个顶点的基础上发生,并且/或者一次在所有顶点上发生。例如,呈现过程可以对对象的第一顶点执行呈现操作——呈现操作依次按A、B、C、D和E进行;然后,呈现过程可以为随后的顶点重复。在一种情况下,呈现计算A、B、D和E可以是时不变计算,C可以是图像特定计算;在另一种情况下,A、B、C和E可以是图像特定呈现计算,D可以是时不变呈现计算;等等。在另一个例子中,在为对象中的所有顶点等执行呈现操作B之前,可以为对象中的所有顶点执行呈现操作A。在其他例子中,预期以上例子的组合。按照本揭示说明,可设想用于交错时不变和图像特定呈现操作的许多方法。
在阅读附加文档之后,掌握该技术领域的普通技能的人可以想象更多的实施例。在其他实施例中,可以有利地实行以上所揭示的发明的组合或子组合。为方便理解,对体系结构的框图和流程图进行分类。但是,应该理解:在本发明的选择性实施例中,预期框的组合、新框的添加、框的重新布置等。例如,可以在分镜头不变遮蔽操作之前执行图像特定遮蔽操作。
相应地,本说明书和附图将被视作起说明的作用,而不是起限制的作用。但是,将会显而易见,在不脱离如该权利要求书中所陈述的本发明的更广泛的精神和范围的前提下,可以对其进行各种修改和更改。

Claims (35)

1.一种用于遮蔽包括第一图像和第二图像的多个图像中的对象的方法,其特征在于包括:
接收第一对象的几何说明;
响应于该第一对象的几何说明,为该第一图像和该第二图像执行一次关于该第一对象的第一遮蔽操作集;
为该第一图像中的该第一对象执行第二遮蔽操作集;
为该第二图像中的该第一对象执行第三遮蔽操作集;
组合关于该第一对象的该第一遮蔽操作集的结果和关于该第一对象的该第二遮蔽操作集的结果,以确定该第一图像中的该第一对象的遮蔽值;以及,
组合关于该第一对象的该第一遮蔽操作集的结果和关于该第一对象的该第三遮蔽操作集的结果,以确定该第二图像中的该第一对象的遮蔽值。
2.权利要求1的方法,其特征在于:
其中,第一处理线程执行“执行该第二遮蔽操作集”的步骤;
其中,第二处理线程执行“执行该第三遮蔽操作集”的步骤;以及,
其中,该第一处理线程和该第二处理线程以从以下该组中选择的方式而相关:迸发处理线程、重叠处理线程、并行处理线程。
3.权利要求1的方法,其特征在于:其中,关于该第一对象的该第一遮蔽操作集包括关于该第一图像中的该第一对象的遮蔽操作,这些遮蔽操作等同于关于该第二图像中的该第一对象的遮蔽操作。
4.权利要求3的方法,其特征在于:其中,关于该第一对象的该第二遮蔽操作集专用于该第一图像。
5.权利要求3的方法,其特征在于:其中,响应于环境照度值,来确定关于该第一对象的该第一遮蔽操作集。
6.权利要求5的方法,其特征在于:其中,响应于从“漫射照度、镜面照度”的该组中选择的照度值,来确定关于该第一对象的该第二遮蔽操作集。
7.权利要求1的方法,其特征在于:进一步包括:接收“关于该第一对象的哪些遮蔽操作在该第一遮蔽操作集内”的确定。
8.一种有形介质,其特征在于:包括根据权利要求1中所描述的方法来加以遮蔽的该第一图像和该第二图像。
9.权利要求1的方法,其特征在于:其中,执行该第一遮蔽操作集中的至少一项遮蔽操作涉及以从“在前、在后、在中间、交错”的该组中选择的方式来执行该第二遮蔽操作集中的至少一项遮蔽操作以及执行该第三遮蔽操作集中的至少一项遮蔽操作。
10.权利要求1的方法,其特征在于:进一步包括:
接收第二对象的几何说明;
响应于该第二对象的几何说明,为该第一图像和该第二图像执行一次关于该第二对象的第一遮蔽操作集;
为该第一图像中的该第二对象执行第二遮蔽操作集;
为该第二图像中的该第二对象执行第三遮蔽操作集;
其中,关于该第一对象的该第一遮蔽操作集中的遮蔽操作被包括在从以下该组中选择的遮蔽操作中:关于该第一图像中的该第二对象的该第二遮蔽操作集、关于该第二图像中的该第二对象的该三个遮蔽操作集。
11.权利要求1的方法,其特征在于:
其中,该第一对象包括第一顶点和第二顶点;以及,
其中,该第一遮蔽操作集和该第二遮蔽操作集以从以下该组中选择的方式被应用于该第一顶点和该第二顶点:该第一顶点上的该第一遮蔽操作集和该第二遮蔽操作集,随后是该第二顶点上的该第一遮蔽操作集和该第二遮蔽操作集;该第一顶点和该第二顶点上的该第一遮蔽操作集,随后是该第一顶点和该第二顶点上的该第二遮蔽操作集。
12.一种用于呈现多个图像中的多个对象的方法,其特征在于包括:
从关于来自这多个图像的每个图像的这多个对象中呈现第一对象,其中,呈现该第一对象包括为关于来自这多个图像的每个图像的该第一对象执行的第一组呈现操作、以及为关于来自这多个图像的一个以上的图像的该第一对象执行一次的第二组呈现操作。
13.权利要求12的方法,其特征在于:进一步包括:
在从关于来自这多个图像的每个图像的这多个对象中呈现该第一对象之后,从关于来自这多个图像的每个图像的这多个对象中呈现第二对象,其中,呈现该第二对象包括为关于来自这多个图像的每个图像的该第二对象执行的第一组呈现操作、以及为关于来自这多个图像的一个以上的图像的该第二对象执行一次的第二组呈现操作。
14.权利要求12的方法,其特征在于:
其中,这多个图像包括N个图像;
其中,关于该第一对象的该第二组呈现操作被执行M次;
其中,1≤M<N。
15.权利要求14的方法,其特征在于:其中,该第一组呈现操作从该组操作中加以选择,该组操作包括:可视性操作、光线跟踪操作。
16.权利要求14的方法,其特征在于:其中,该第二组呈现操作从该组操作中加以选择,该组操作包括:切割操作、纹理映射操作、位移操作。
17.权利要求13的方法,其特征在于:其中,该第二组呈现操作从该组操作中加以选择,该组操作包括:几何数据检索、过程式几何数据生成。
18.权利要求17的方法,其特征在于:其中,该第一组呈现操作从该组遮蔽操作中加以选择,该组遮蔽操作包括:镜面照度遮蔽、加亮照度遮蔽、漫射照度遮蔽、环境照度遮蔽。
19.权利要求13的方法,其特征在于:该第二组呈现操作从该组遮蔽操作中加以选择,该组遮蔽操作包括:镜面照度遮蔽、加亮照度遮蔽、漫射照度遮蔽、环境照度遮蔽。
20.一种介质,其特征在于:存储包括根据权利要求13中所描述的该方法而呈现的该对象的这多个图像。
21.权利要求19的方法,其特征在于:进一步包括:输出这多个图像。
22.权利要求12的方法,其特征在于:其中,以从“在前、在后”的该组中选择的方式来相对于来自该第一组呈现操作的至少一项呈现操作执行来自该第二组呈现操作的至少一项呈现操作。
23.权利要求13的方法,其特征在于:其中,呈现操作被包括在该第二组呈现操作和该第一组呈现操作中,为该第一对象执行一次该第二组呈现操作,为关于来自这多个图像的每个图像的该第二对象执行该第一组呈现操作。
24.一种用于呈现多个图像中的多个对象的计算机系统:其特征在于包括:
被配置成存储包括N个图像的这多个图像的存储器;以及,
被耦合到该存储器的处理器,其中,该处理器被配置成为来自这多个对象的第一对象执行第一组呈现操作N次,为来自这多个图像的每个图像执行第一组呈现操作一次,其中,该处理器也被配置成对于这多个图像为来自这多个对象的该第一对象执行第二组呈现操作M次,其中,M<N。
25.权利要求24的计算机系统,其特征在于:其中,该处理器也被配置成:在为该第一对象执行该第一组呈现操作之后,为来自这多个对象的第二对象执行第一组呈现操作N次,为来自这多个图像的每个图像执行第一组呈现操作一次。
26.权利要求24的计算机系统,其特征在于:其中,1≤M<N。
27.权利要求26的计算机系统,其特征在于:其中,从“可视化操作、光线跟踪操作”的该组操作中选择该第一组呈现操作。
28.权利要求27的计算机系统,其特征在于:其中,从“几何切割操作、纹理映射操作、几何位移操作”的该组操作中选择该第二组呈现操作。
29.权利要求26的计算机系统,其特征在于:其中,从“该第一对象的几何数据检索、该第一对象的过程式几何数据生成”的该组操作中选择该第二组呈现操作。
30.权利要求26的计算机系统,其特征在于:其中,从“镜面遮蔽、加亮遮蔽、漫射遮蔽、环境遮蔽”的该组遮蔽操作中选择该第一组呈现操作。
31.权利要求26的计算机系统,其特征在于:其中,从“镜面遮蔽、加亮遮蔽、漫射遮蔽、环境遮蔽”的该组遮蔽操作中选择该第二组呈现操作。
32.权利要求26的计算机系统,其特征在于:其中,该处理器被配置成为来自关于第一对象的该第一组呈现操作的每项呈现操作产生单独的过程。
33.权利要求32的计算机系统,其特征在于:其中,关于来自该第一组呈现操作的每项呈现操作的该单独的过程是从“并发过程、并行过程”的该组中选择的过程。
34.权利要求24的计算机系统,其特征在于:至少一项呈现操作对关于该第一对象的该第一组呈现操作和关于该第二对象的该第一组呈现操作而言是共同的。
35.权利要求24的计算机系统,其特征在于:
其中,以从“在前、在后”的该组中选择的方式来相对于来自关于该第一对象的该第二组呈现操作的第一呈现操作执行来自关于该第一对象的该第一组呈现操作的第一项呈现操作;以及,
其中,以从“在前、在后”的该组中选择的方式来相对于来自关于该第一对象的该第二组呈现操作的第一呈现操作执行来自关于该第一对象的该第一组呈现操作的第二项呈现操作;以及,
其中,以从“在前、在后”的该组中选择的方式来相对于来自关于该第一对象的该第一组呈现操作的第二呈现操作执行来自关于该第一对象的该第二组呈现操作的第二呈现操作。
CNB038265826A 2003-04-30 2003-07-31 镜头呈现方法和装置 Expired - Fee Related CN100530243C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/428,325 2003-04-30
US10/428,321 2003-04-30
US10/428,325 US7095409B2 (en) 2003-04-30 2003-04-30 Shot shading method and apparatus

Publications (2)

Publication Number Publication Date
CN1788283A true CN1788283A (zh) 2006-06-14
CN100530243C CN100530243C (zh) 2009-08-19

Family

ID=33310381

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038265826A Expired - Fee Related CN100530243C (zh) 2003-04-30 2003-07-31 镜头呈现方法和装置

Country Status (2)

Country Link
US (2) US7095409B2 (zh)
CN (1) CN100530243C (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105701761A (zh) * 2014-12-12 2016-06-22 三星电子株式会社 用于图像处理的图像处理装置及方法
CN108122273A (zh) * 2017-12-20 2018-06-05 浙江煮艺文化科技有限公司 一种数字动漫生成系统及方法

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004152015A (ja) * 2002-10-30 2004-05-27 Digital Fashion Ltd 画像処理装置、画像処理プログラム、そのプログラムを記録する記録媒体、画像処理方法、シェーディング情報取得装置及びデータ構造
US7382374B2 (en) * 2005-05-02 2008-06-03 Bitplane Ag Computerized method and computer system for positioning a pointer
US20060274085A1 (en) * 2005-06-03 2006-12-07 Pixar Methods and Apparatus For Structuring Geometric Models
US7869667B1 (en) 2007-01-19 2011-01-11 Google Inc. Method for automatic alignment of raster data with vector data in a geographic information system
US9665968B2 (en) * 2008-08-22 2017-05-30 Autodesk, Inc. Computerized image rendering with per-frame buffer scene segmentation
US8379024B2 (en) * 2009-02-18 2013-02-19 Autodesk, Inc. Modular shader architecture and method for computerized image rendering
US8416238B2 (en) 2009-02-18 2013-04-09 Autodesk, Inc. Modular shader architecture and method for computerized image rendering
US8368694B2 (en) * 2009-06-04 2013-02-05 Autodesk, Inc Efficient rendering of multiple frame buffers with independent ray-tracing parameters
US8970588B1 (en) * 2009-07-31 2015-03-03 Pixar System and methods for implementing object oriented structures in a shading language
US8698806B2 (en) * 2009-11-09 2014-04-15 Maxon Computer Gmbh System and method for performing volume rendering using shadow calculation
CN102087752B (zh) * 2009-12-08 2013-11-20 鸿富锦精密工业(深圳)有限公司 光照环境模拟系统及方法
TWI482998B (zh) * 2010-01-11 2015-05-01 Hon Hai Prec Ind Co Ltd 光照環境類比系統及方法
WO2013085513A1 (en) * 2011-12-07 2013-06-13 Intel Corporation Graphics rendering technique for autostereoscopic three dimensional display
US9123162B2 (en) 2012-06-11 2015-09-01 Disney Enterprises, Inc. Integration cone tracing
US9053582B2 (en) 2012-06-11 2015-06-09 Disney Enterprises, Inc. Streaming light propagation
US8957896B2 (en) 2012-06-11 2015-02-17 Disney Enterprises, Inc. Streaming hierarchy traversal renderer
US9123154B2 (en) 2012-10-09 2015-09-01 Disney Enterprises, Inc. Distributed element rendering
US9508315B2 (en) 2013-03-08 2016-11-29 Disney Enterprises, Inc. Ordering rays in rendered graphics for coherent shading
US10146409B2 (en) * 2014-08-29 2018-12-04 Microsoft Technology Licensing, Llc Computerized dynamic splitting of interaction across multiple content
US11321904B2 (en) 2019-08-30 2022-05-03 Maxon Computer Gmbh Methods and systems for context passing between nodes in three-dimensional modeling
US11714928B2 (en) 2020-02-27 2023-08-01 Maxon Computer Gmbh Systems and methods for a self-adjusting node workspace
US11373369B2 (en) 2020-09-02 2022-06-28 Maxon Computer Gmbh Systems and methods for extraction of mesh geometry from straight skeleton for beveled shapes

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5649032A (en) 1994-11-14 1997-07-15 David Sarnoff Research Center, Inc. System for automatically aligning images to form a mosaic image
JP3442181B2 (ja) * 1995-02-17 2003-09-02 株式会社ナムコ 3次元ゲーム装置及び画像合成方法
US6016150A (en) * 1995-08-04 2000-01-18 Microsoft Corporation Sprite compositor and method for performing lighting and shading operations using a compositor to combine factored image layers
US6064393A (en) 1995-08-04 2000-05-16 Microsoft Corporation Method for measuring the fidelity of warped image layer approximations in a real-time graphics rendering pipeline
US6097854A (en) * 1997-08-01 2000-08-01 Microsoft Corporation Image mosaic construction system and apparatus with patch-based alignment, global block adjustment and pair-wise motion-based local warping
US6184891B1 (en) * 1998-03-25 2001-02-06 Microsoft Corporation Fog simulation for partially transparent objects
US6266053B1 (en) 1998-04-03 2001-07-24 Synapix, Inc. Time inheritance scene graph for representation of media content
US6278466B1 (en) 1998-06-11 2001-08-21 Presenter.Com, Inc. Creating animation from a video
GB2343601B (en) * 1998-11-06 2002-11-27 Videologic Ltd Shading and texturing 3-dimensional computer generated images
EP1264281A4 (en) 2000-02-25 2007-07-11 Univ New York State Res Found ARRANGEMENT AND METHOD FOR PROCESSING AND PLAYING A VOLUME
US6707452B1 (en) 2000-07-19 2004-03-16 Pixar Method and apparatus for surface approximation without cracks
US6573898B1 (en) 2000-07-21 2003-06-03 Avid Technology, Inc. Analysis of properties of effects for rendering and caching of media data
AU2002236628A1 (en) * 2000-12-18 2002-07-01 Schlumberger Holdings Limited Method and apparatus for visualization of 3d voxel data using lit opacity volumes with shading
US6933941B1 (en) * 2001-04-10 2005-08-23 Microsoft Corporation Scene representation method and system
US6791563B2 (en) * 2001-09-18 2004-09-14 Bentley Systems, Incorporated System, method and computer program product for global rendering
KR100450836B1 (ko) * 2001-12-11 2004-10-01 삼성전자주식회사 이차원 영상의 입체화 장치 및 방법
US7006090B2 (en) * 2003-02-07 2006-02-28 Crytek Gmbh Method and computer program product for lighting a computer graphics image and a computer

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105701761A (zh) * 2014-12-12 2016-06-22 三星电子株式会社 用于图像处理的图像处理装置及方法
CN108122273A (zh) * 2017-12-20 2018-06-05 浙江煮艺文化科技有限公司 一种数字动漫生成系统及方法

Also Published As

Publication number Publication date
CN100530243C (zh) 2009-08-19
US20040217958A1 (en) 2004-11-04
US20070075998A1 (en) 2007-04-05
US7564457B2 (en) 2009-07-21
US7095409B2 (en) 2006-08-22

Similar Documents

Publication Publication Date Title
CN1788283A (zh) 镜头呈现方法和装置
EP3061071B1 (en) Method, apparatus and computer program product for modifying illumination in an image
US7602398B2 (en) Decorating surfaces with textures
US7098910B2 (en) Hair rendering method and apparatus
US9396530B2 (en) Low memory content aware image modification
JP5985619B2 (ja) 仮想環境におけるオブジェクトの制御
US7995060B2 (en) Multiple artistic look rendering methods and apparatus
CN1655192A (zh) 基于深度图像的三维图形数据的高速显像的装置和方法
KR101373020B1 (ko) 정적 영상에서 애니메이션 아트 효과를 생성하기 위한 방법 및 시스템
CN101046891A (zh) 纹理映射设备和方法
WO2008063167A1 (en) Methods and systems for color correction of 3d images
CN1343341A (zh) 成像方法及成像装置
US20040227766A1 (en) Multilevel texture processing method for mapping multiple images onto 3D models
US7508390B1 (en) Method and system for implementing real time soft shadows using penumbra maps and occluder maps
NZ551124A (en) Dynamic Wrinkle mapping
CN111626951A (zh) 一种基于内容感知信息的图像阴影消除方法
JPWO2018096775A1 (ja) 画像処理装置、画像処理方法、プログラム
CN110807738A (zh) 一种基于边缘图块锐化的模糊图像非盲复原方法
CN113222845A (zh) 基于卷积神经网络的肖像外部阴影去除方法
JP6272071B2 (ja) 画像処理装置、画像処理方法及びプログラム
US7129940B2 (en) Shot rendering method and apparatus
CN104394320A (zh) 处理图像的方法、装置以及电子设备
KR101566459B1 (ko) 이미지 기반의 비주얼 헐에서의 오목 표면 모델링
CN111768428B (zh) 增强基于运动目标的图像跟踪稳定性的方法
CN1833271A (zh) 经改进绘制投影的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: California, USA

Patentee after: Pi Kesa

Address before: California, USA

Patentee before: Pixar

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090819

Termination date: 20210731