CN1618086A - 创建运动幻象的方法和设备 - Google Patents
创建运动幻象的方法和设备 Download PDFInfo
- Publication number
- CN1618086A CN1618086A CNA008176884A CN00817688A CN1618086A CN 1618086 A CN1618086 A CN 1618086A CN A008176884 A CNA008176884 A CN A008176884A CN 00817688 A CN00817688 A CN 00817688A CN 1618086 A CN1618086 A CN 1618086A
- Authority
- CN
- China
- Prior art keywords
- group
- place
- data
- attribute
- vertex data
- 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
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 33
- 238000000034 method Methods 0.000 title claims description 37
- 241001269238 Data Species 0.000 claims description 10
- 208000030984 MIRAGE syndrome Diseases 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 10
- TVLSRXXIMLFWEO-UHFFFAOYSA-N prochloraz Chemical compound C1=CN=CN1C(=O)N(CCC)CCOC1=C(Cl)C=C(Cl)C=C1Cl TVLSRXXIMLFWEO-UHFFFAOYSA-N 0.000 claims description 10
- 125000001153 fluoro group Chemical group F* 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims 4
- 238000012545 processing Methods 0.000 abstract description 9
- 238000002310 reflectometry Methods 0.000 abstract 1
- 238000009877 rendering Methods 0.000 description 10
- 239000011159 matrix material Substances 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 229920002457 flexible plastic Polymers 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000007794 visualization technique Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
一种数据处理系统能提供高品质的三维图像。在一个实施例中,数据处理系统中的处理器执行某种计算机算法,这种算法为要被显示在计算机图像背景上的对象创建运动幻象,实现方法为:绘制该对象的多个图像,按能提供该对象在第一处位置和第二处位置之间的一种运动幻象的方式改变应用到图像上的属性—如透明度、颜色、亮度、反射度、填充、质地、尺寸,和/或包括深度在内的位置。同时还被说明的是一种用于实现这种运动幻象算法的集成电路和一种用于存储实现运动幻象算法的数据结构的计算机可读介质。
Description
发明的技术领域
本发明与计算机图像相关,尤其是关于在三维图像系统中创建运动幻象。
发明背景
在数据处理领域,目前对图像应用提高了要求,与以前的图像应用相比要求更快速、更细节化、更生动的图像应用。这类应用中一大部分是用在个人、教育、军事以及商业的数据处理系统。另外,因特网应用的迅速化普及也要求在新颁布的计算机系统中提供高品质的图像和多媒体功能。
高速三维(3D)图像处理要求快速、流水线式的处理,以便提供实际的几何细节,并在背景下利用某种属性—如透明度、深度、颜色、亮度、反射度、填充、质地等,照亮该对象。新型微处理器,例如可从位于加州Santa Clara的Intel公司经商务购得的奔腾III处理器,它为浮点数提供了一种作为指令集的一部分的流形式的单指令多数据(SIMD)的指令,这使其尤为适用于实现高速的3D图像。
图像处理计算机结构必须同时支持几何变换及照亮处理所要求的繁重的计算工作量以及为支持这些计算而从存储器中存取数据和指令所必需的越来越高的总线带宽负载。要能够成功地商业化,个人计算机中所使用的处理器必须能够在满足计算和带宽要求的同时保持硬件成本较低。
直到目前为止,高输出带宽仍然意味着高成本的存储器,以便存储实现高速3D图像功能时所需要的大量数据,例如在计算机屏幕上的某个背景下真实地再现运动着的物体。
鉴于以上提出的种种原因,在计算机图像处理领域强烈地要求提供一种图像处理系统,它能够真实地再现包括运动物体在其中的场景,同时最小化所需的计算工作量和带宽负载以及存储器资源。
另外,在计算机图像处理领域还强烈地要求提供一种基于计算机的方法,能够有效地创建一个或多个将在计算机图像背景上显示的物体的运动幻象。
发明简述
由此,在本发明的一个实施例中提供了一种适合被用在处理器中的方法。该方法包括:生成代表要被显示在计算机屏幕上第一处位置上的一个对象的第一组顶点数据;生成代表要被显示在计算机屏幕上第二处位置上的该对象的第二组顶点数据;应用至少一种属性到一组顶点数据上。该方法还包括对第一和第二组顶点数据进行处理以便在计算机屏幕的第一处位置和第二处位置上显示该物体。至少一种属性以在第一处位置和第二处位置之间提供该对象的运动幻象的方式使该对象在第一处位置上看起来不同于第二处位置上。
在另一个实施例中,提供了一种计算机可读取的介质,其中包含了计算机可执行指令,用于命令处理器执行一种能给被显示在计算机屏幕上的物体提供运动幻象的方法。这些指令包括:生成代表要被显示在计算机屏幕上第一处位置上的一个对象的第一组顶点数据;生成代表要被显示在计算机屏幕上第二处位置上的该对象的第二组顶点数据;应用至少一种属性到一组顶点数据上。这些指令还包括再现第一和第二组顶点数据以便在计算机屏幕的第一处位置和第二处位置上显示该物体。至少一种属性以在第一处位置和第二处位置之间提供该对象的运动幻象的方式使该对象在第一处位置上看起来不同于第二处位置上。
在又一个实施例中,提供了一种计算机可读取介质,其上存储着一种数据结构。该数据结构中包括第一数据块—其中的顶点数据表示了要被再现在计算机屏幕第一处位置上的对象,以及第二数据块—其中的顶点数据表示了要被再现在计算机屏幕第二处位置上的对象。第二数据块中还包括属性数据,它以提供该对象在第一处位置和第二处位置之间的一种运动幻象的方式使该对象在第二处位置上看起来不同于第一处位置上。
其它实施例也被说明,以及被声明权利。
附图简述
图1是说明数据处理系统的方框图,利用该图,本发明的一个实施例可以被实现;
图2描述了按本发明一个实施例的一个3D对象沿直线的运动幻象的一个实例;
图3描述了按本发明另一个实施例的一个3D对象沿着曲线的运动幻象的一个实例;
图4是说明按发明的一个实施例在图像系统中创建一个3D对象的运动幻象的方法的简化示意图和流程图。
发明详述
在以下的详细说明中,将参考相应的附图。这些附图组成了本发明的一部分,被通过对特定的实施例进行图解说明的方式给出,在这些特定的实施例中本发明都得以实现。其它实施例也可以被应用,在不背离本发明的范围的条件下也能进行结构修改。
图1是说明一种数据处理系统的方框图,借助该图,本发明的一种实施例可被实现。如图1所示的数据处理系统能够实现高品质的3D图像处理。在一个实施例中,该系统包括一个主处理器1、芯片集核心逻辑10、图像处理器12、帧缓存器14、Z-缓存器16、显示监测器或计算机屏幕18、键盘/鼠标20、和存储器30。存储器30可能包括任何适合的存储器存储设备,在一个实施例中它包括用随机存取存储器(RAM)芯片实现的主存储器32、只读存储器33、一个或多个硬驱动器34、以及一个如磁盘或光盘的可移动介质36。
主处理器1通过总线3被连接到芯片集核心逻辑10上。芯片集核心逻辑10通过总线4被连接到存储器30上。芯片集核心逻辑10还通过总线5被连接到图像处理器12上,而图像处理器12通过总线6被连接到帧缓存器14和Z-缓存器16上。帧缓存器14和Z-缓存器16通过总线7被连接到显示监测器18上,显示监测器再通过总线8被连接到键盘/鼠标20上。图1中所说明的某些连接是便于进行图解说明的逻辑连接,而非实际的物理连接。
其它的用户接口单元,如扬声器、麦克风、游戏棒、转向盘、打印机、MIDI(乐器数字接口)键盘、虚拟现实设备、可移动座椅和环境等,都可以形成数据处理系统的一部分,但是出于能清晰阐述的目的,在图1中它们并未被图解给出。同样,其它的外围设备,例如声音和视频设备、调制解调器、网络和其它的I/O(输入/输出)接口等也能构成数据处理系统的一部分,但是它们同样在图1中被省略掉了,因为在本领域中,如何在更广泛的应用范围内使用它们同时使数据处理系统被实现是早已被熟知的。
虽然如总线3-8的诸总线在图1中被以单线表示,但是它们通常是用多条导线实现的。或者,它们也可以由其它适合的传输介质来实现,例如无线电或光缆技术。
数据处理系统包括的处理器可能多于或少于图1中给出的。例如,在没有图像处理器12和/或帧缓存器14和Z-缓存器16的功能被用一个不同的存储器和/或主存储器32实现的情况下,尽管处理品质等级被降低,数据处理系统仍能实现功能。
在一个实施例中,主存储器是Intel的奔腾III处理器,可以从加州的Santa Clara的Intel公司经商务购得。图像处理器12是一种nVIDIA GeForce 256型图像加速器,可从NVIDIA公司经商务购得。芯片集核心逻辑10是Intel 820系列芯片集,可从Intel公司经商务购得。
主存储器32可以由任何适合的经商务购得的存储器系统实现。在一个实施例中,主存储器利用同步动态随机存取存储器(SDRAM)设备被实现,例如可从Intel公司商务购得的Intel 440BX主板上的SDRAM设备。
在一个实施例中,用以实现本发明中运动幻象功能的计算机软件在一种包括至少一个处理器—如主处理器1和/或图像处理器12的集成电路中被实现。但是,另一种可选用的措施是把运动幻象计算机软件的一些内容存储在主处理器1中,另一些内容存储在图像处理器12中。或者,一部分或全部的运动幻象软件存储在存储器30中的适当部分中。这里所使用的术语“计算机可读取介质”指的是任何有源或无源设备,其上包含了用于命令处理器的计算机指令和/或计算机数据,这类设备如硬盘、软磁盘、激光唱盘(CD)、随机存取存储器(RAM)、只读存储器(ROM)、高速缓存等。
运动幻象计算机软件也可以被不同类型的软件模块实现,这些模块被存储在上述说明的存储地点以外的地点中,由不同于主处理器1或图像处理器12的执行单元(未给出)执行。
图2描述了按本发明的一种实施例的一个3D对象100沿直线的运动幻象的一个实例。在图2中,3D对象是一个球体或球状物100,它被描画成正沿着箭头110所指示的方向运动。球100在计算机屏幕上被显示为一串被分开的图像或拷贝,起始处是一张较淡的图像101,它具有高的“深度”属性(在本领域中以及在本文中用参数“Z”表示)和高的“透明度”属性(在本领域中以及本文中用参数“Alpha”表示),结尾处是一张很浓的图像105,它具有最小的“深度”和“透明度”。深度属性的变化只从图2中对象100的各个独立的图像中很难看出,而在包括对象100附近的其它对象在内的背景下就较为显而易见了。按一个实施例中间的图像102~104具有按比例递减的深度和透明度。总的效果是提供给观察者一种球100沿着箭头110方向的运动幻象。
图3描述了按本发明的另一个实施例的一个3D对象沿着曲线的运动幻象的一个实例。在图3中,3D对象是一架飞机200,它被描画成正沿着曲线箭头210指示方向运动。飞机200在计算机屏幕上被显示为一串四个被分开的图像,起始处是一张较淡的图像201,具有高的深度和透明度,结尾处是一张较浓的图像204,具有最小的深度和透明度。而且,深度属性的变化在图3中对象200各个独立的图像中也是不易看出来的,而在包括对象200附近的其它对象在内的背景下就比较显而易见了。根据一个实施例,中间图象202和203具有按比例递减的深度和透明度。总的效果是提供给观察者一个飞机200沿着曲线箭头210方向的运动幻象。
图4说明了按本发明的一个实施例,在图像系统中创建3D对象运动幻象的一种方法的简化示意图和流程图。
在详细讨论图4之前,关于在图像系统中表示3D对象的一些背景要先被介绍。
为了使一个3D对象(例如图2中被图解说明的球100、或图3中被图解说明的飞机200)能在3D图像系统中被表示、被操作以及被显示出来,该系统要包括包含了描述该对象的一种和多种数据表征方法的计算机数据结构。图像背景中可以包括各种不同类型的3D对象,这些对象以各式各样的方式被表示。多数的3D对象可以通过一系列围绕该对象内部的面多边形被表示。因此,多数的图像系统将3D对象的描述符存储为一系列面多边形(也被称为“三角形”)。多边形表面可通过一组顶点坐标(用于指明多边形表面的尺寸、形状、位置、透视等)和相关属性(用于指明颜色、亮度、透明度、深度、反射度、质地、填充等)在数学上详细地确定。
各个多边形表面的信息可被组织成至少两组:“几何数据表”和“属性数据表”。几何数据表包括了顶点坐标和其它的几何参数,例如用于标识多边形表面空间方位的透视数据。属性数据表包括的参数用于确定,如3D对象的颜色、亮度、透明度、填充模式、表面反射度、质地以及其它外观特征。
正如本领域中早已熟知的,为了使3D图形对象能在二维的屏幕上被显示出来,输入数据表达方式要被典型地处理或通过几种类型的坐标系统进行变换。例如,单独的图形对象首先借助于一种被称作建模坐标或主坐标的坐标系统或参考帧,在“模型空间”中被创建及确定。
接下来,借助于被称为“全局空间”或全局坐标的参考帧,独立的图形对象被集结到背景中适当的位置上。然后,背景的全局坐标描述要经历对背景中的任何多边形的剪辑或选取操作,这些操作对观察者而言是被隐藏的。
最终,被剪辑出的全局坐标被变换成一个或多个参考帧,以便显示在如显示监测器18的二维屏幕上。这些显示坐标系统被称作设备坐标,或者,在显示监测器中被称作屏幕坐标。利用建模坐标和全局坐标能够允许图像程序员利用适当的浮动小数点或整数型维度,而不被特定输出设备的参数所局限。
上述变换中的任何一种都需要平面方程的相当繁重的数学处理过程,该平面方程用例如矩阵和/或行列式来定义多边形表面,以求解特定坐标系中的方程,这在本领域中是熟知的。各种各样的计算机数据结构被保存在计算机存储器中,以便能够根据其组成的表面多边形或三角形描绘该场景,这类数据结构例如包含着有关多边形顶点、多边形边、多边形边斜率、多边形边界框等信息的数据表,都是本领域所熟知的技术。这些计算机数据结构还包括在这里被称作变换和照亮(T&L)顶点的信息,通常指的是被变换后的几何数据和被变换后的属性数据。
应当理解的是,图像处理过程可以基于各种各样的多边形分组方式被实现,例如基本图元方式(即对三角形分组成,例如,三角带和扇形)、如多边形网格(例如使用从Intel公司购得的多分辨率网格软件技术)的高阶表面方式、等等。并且,还应理解的是,本发明并非受限于特定的图像处理方式。如果基础图元被应用,它们的运动可以同时利用运动向量(运动方向和幅度)和能够表示基础图元在其轴线上运动的数据(例如,如果它处于自旋中)表示出来。
下面,图4将被更为详细的说明。在图4中,本发明的一个实施例被说明。在这种实施例中,一个3D对象的运动幻象通过使用线性插值而被实现。另外两个实施例在其后被讨论。
图4中,方框50执行顶点运动插值算法,它能够提供被显示在显示监测器18上的一个对象的运动幻象。方框50接收来自方框47~49的输入,同时方框50生成送往方框61和方框67~69,以及方框71和方框77~79上的输出。
通常,方框50所接收的数据既要有关于对象的旧(即起始或最透明)顶点位置的,又要有关于对象的新(即最终或最不透明)顶点位置的。方框50还要接收与对象新位置相关的绘制命令,同时它还要接收与希望施加于该对象上的运动类型相关的运动信息。然后,方框50生成一系列绘制命令61和67~69到图像系统中以绘制一系列图像,每幅图像代表该对象处于一种如深度、透明度、和/或颜色稍微不同的状态下,以便给出一种运动幻象。方框50也生成一系列变换和照亮(T&L)顶点71和77~79到图像系统中,因此,对将被绘制的一系列图像中的每幅图像都提供了T&L顶点。
方框41向方框45提供了3D对象的模型顶点,即来自于模型空间的顶点,方框45利用由方框43提供的变换矩阵、照亮和其它数据对该3D对象的模型顶点进行变换和照亮。T&L方框45向顶点运动插值算法方框50输出新位置上的顶点47。
顶点运动插值算法方框50也对方框48和方框49做出响应。方框48提供新位置上的绘制命令;方框49提供运动信息,包括线性运动和自旋运动。
顶点运动插值算法方框50为了响应从方框47~49接收到的输入,会对应3D对象的最原始位置生成一组绘制命令(方框61),以及生成对应3D对象的最原始位置的相应的一组T&L顶点(方框71)。方框50也会对应3D对象的新位置生成一组相应的绘制命令(方框69)和一组T&L顶点(方框79)。此外,方框50还对应3D对象的几个中间位置生成几组绘制命令(方框67、68)以及T&L顶点(方框77、78)。应被绘制的图像数量N是属于图像程序员的设计优化问题。
在另一种实施例中,顶点运动插值算法50的运行过程可以通过下面的伪代码以更高层次的方式被概括:
(1)对于所有缓冲器中的各个顶点
(2)开始
(3)变换顶点
(4)照亮顶点
(5)如果这是一个被锁住/被优化的缓存器
(6)开始
(7)保存顶点的拷贝
(8)如果存在顶点的先前拷贝
(9)开始
(10)确定位置差值(DeltaX,DeltaY,DeltaZ,DeltaW)
(11)确定颜色差值(DeltaSpecularRed,DeltaDiffuseBlue等)
(12)确定Alpha差值(MaxAlpha-NewAlpha)
(13)从I=1到N(按对象图像渐浓的方向增加到希望的拷贝数目)
(14)开始
(15)创建一个新顶点
(16)设置X位置为被插值得到的数值:X=I*(DeltaX/N)+X
(17)设置Y位置为被插值得到的数值:Y=I*(DeltaY/N)+Y
(18)设置Z位置为被插值得到的数值:Z=I*(DeltaZ/N)+Z
(19)设置透视为被插值得到的数值:W=I*(DeltaW/N)+W
(20)设置应用的颜色为被插值得到的数值:RedSpec=I*(DeltaRedSpec/N)+RedSpec,等
(21)设置透明度为被插值得到的数值:NewAlpha=MaxAlpha-(DeltaAlpha/N)*(I-1)
(22)结束
(23)结束
(24)结束
(25)结束
伪代码中的(1)行指明所被描述的操作在背景中对各个多边形的顶点都要被执行。在(3)行中,顶点从模型坐标被变换到设备坐标中,在(4)行中,顶点通过被应用在其上的可利用的属性数据(例如,颜色、亮度、透明度、深度、填充、表面反射度、质地等)而被照亮。
如果该缓存器被锁住或被优化过等,且该缓冲器再次被使用(5)行之后的代码就要被执行。在(7)行中,顶点的一个拷贝被存储。如果存在该顶点的先前拷贝,紧随(8)行之后的代码被执行。
在(10)行中,顶点新、旧位置的差值通过计算DeltaX、DeltaY、DeltaZ和DeltaW被确定。例如,DeltaX是被绘制在屏幕上的对象的最终位置和对象的初始位置的X坐标的差值。DeltaY和DeltaZ分别是Y和Z的坐标差值,DeltaW是W或透视的坐标差值。
在(11)行中,新、旧位置之间所有可应用的颜色的差值通过计算对应每一种可应用颜色的正确的Delta值来确定。在(12)行中,透明度(Alpha)差值在新、旧位置之间被确定下来,其中NewAlpha代表新位置上的透明度的最小值,而MaxAlpha代表旧位置上的透明度的最大值。对于要被显示的个别对象,图像程序员可以选择最优的MaxAlpha数值。
(13)行之后的代码要被重复执行N次,其中N是要被显示的3D对象的图像或拷贝的数目,其中I增加的方向上将出现新的、更浓的对象图像。
(15)行之后的代码被用于创建一个新的顶点。在(16)行中,新的X位置按插值所得到的数值设置,即新X=I*(DeltaX/N)+旧X。同样地,(17)和(18)行中,新Y和Z位置也按插值所得到的数值进行设置。
在(19)行中,新的透视度W按插值得到的值进行设置。在(20)行中,各个可利用的颜色被设置成其各自的由插值得到的数值。在(21)行中,透明度Alpha被设置成其由插值得到的数值,Alpha的数值从最原始的、最透明的图像中的最大值向最新的、最不透明的图像逐渐递减。其它特定属性参数如亮度、反射度、填充和质地等也可附加到或代替上述的颜色和透明度属性被应用到要被显示的对象中实现期望的运动效果。
此外,特定几何属性参数如尺寸、包括深度在内的位置等的由插值得到的数值可以被应用到图像序列中,可以附加到或替换掉上述所提到的属性如颜色、透明度、亮度、反射度、填充和质地等的被插值出的数值中,以便给出期望的运动幻象。正如这儿所使用的,术语“属性”包括颜色、透明度、浓度、反射度、填充和质地,以及几何参数如尺寸、包括深度在内的位置等等。因此,例如,从旧位置经由中间位置到新位置上,通过仅仅变换该对象的尺寸和深度,或者通过组合使用尺寸、深度和浓度等,一个3D对象就能被赋予一种运动幻象。属性可以被单独使用,也可以任意组合使用以实现期望的效果。
上述说明过的能够执行多边形顶点和属性信息的线性插值的实施例在无需更改特定的图像应用程序以及具有相当低的运算需求的条件下可以被实现。该插值方法适合用在被期望能够提供给观察者一个3D对象的运动幻象的多种图像应用程序中。运动描述的精确度对于小于或等于每帧四分之一圈的转动运动能得到保证,因为高速转动会歪曲对象的图像。
例如,该实施例可以通过将应用程序程序员接口(API)应用到能商务购得的3D程序库中,如从Microsoft公司购得的Direct3D中,而被实现。利用Direct3D,程序员可以在顶点缓存器(指上面伪代码中的(5)行)上应用“优化”和“锁定”标签。该标签被应用程序或背景管理器所使用,以表明缓存器将被再次使用而并不改变资源顶点。当“被优化”的顶点列表被变换并照亮后,结果就被保存下来。如果一个先前的结果存在,各个顶点的运动就被确定,各个顶点的N个拷贝就被创建,随着透明度(Alpha)逐渐递增返回到对象的原始位置上。利用这些顶点,3D对象在各个预期的N个位置上都被绘制出来。
该发明的这种实施例所要求的插值计算(例如使用浮点型矩阵)尤其能利用PentiumIII微处理器中的指令集中提供的流形式SIMD指令被满意地执行。尽管这类计算不会严重地增加微处理器的负担,但是却有相当多的多边形要被发送给显示硬件。
如前面所述,该发明也能被应用到其它各种各样可以选用的实施例中。在一种可以选择的实施例中,一个3D对象的运动幻象通过使用拟合函数从而获得对象原始位置以及新位置上的运动和转动,而被实现。本质上,用在对象新、旧位置上的变换矩阵要被分析。该转换矩阵中包括几个要被计算在内的基本元素,包括尺寸、移位、运动和转动等。通过查看对象中多于一个顶点的运动,执行一些基本的几何运算,这些基本元素中的各元素的数值都能被推算出来。尺寸、移位、运动能被相对容易的推算出来,因为它们影响对象中所有的顶点。推算转动是相对比较困难的,因为它依赖于对象中那些顶点相对转动轴的位置,但是一旦其它基本要素都被知道,推导转动所需要做的就是识别出适用于对象所有顶点的转动的角度和轴线。无需更改特定的图像应用程序,该实施例就能被实现,而且只有中等计算量的要求。当对象只绕单一轴线旋转且包括不多于一种旋转模式时,该实施例所产生的运动描述的准确性是尤为适当的。
在另一种实施例中,一个3D对象的运动幻象通过使图像应用程序本身详细确定出各个时间帧上该对象的预期位置而被实现。图像应用程序生成多个矩阵以描述3D对象的真实运动。通过对顶点运动插值算法50进行适当的修改,被生成的矩阵可以被用于创建存在于旧位置和新位置之间的3D对象的预期数量的图像,对各个对象都要使用一个新的矩阵,或者,例如如果对象在某个位置上暂时保持不变时,再次使用该矩阵。该实施例提供了旧位置、新位置之间的对象运动的最准确的再现,它能够准确的描画该对象的运动和自旋,而无需限制旋转的数量。既然它只有中等的计算量要求,因此它确实需要对特定图像应用程序的代码进行修改。
为了实现任何一种上述说明过的本发明的实施例,各种类型的数据结构要被存储在图1所示的数据处理系统中的一个或多个存储器元件中。一种数据结构中包括与对象在计算机屏幕的第一处位置上的第一组顶点或基本图元相关的第一数据块。该数据结构还包括与对象在计算机屏幕的第二处位置上的第二组顶点或基本图元相关的第二数据块。第二数据块中还包括属性数据,它以向对象提供在第一处位置和第二处位置之间的运动幻象的方式使第二处位置上的对象看起来不同于第一处位置上的对象。
数据结构可能包括第三和相继的数据块,它们是与对象在计算机屏幕的第三处位置和相继位置上的第三组和相继其它组的顶点或基本图元相关的。例如,这样做的目的可能在第一处和第二处位置之间的多个中间位置上再现该对象,在各个中间位置上对象有一种或多种类型的属性数据具有不同的值。因此,第三和相继的数据块可能各个都包括某种属性数据的一个不同数值,这种属性数据以提供对象在计算机屏幕的第一处位置和第二处位置之间的运动幻象的方式,使对象在相应位置上看上去不同于在其它位置上。
结论
总之,本发明提供了一种简单、现实、有效的方法和设备,用于创建图像系统中的运动幻象。线性插值实施例简单得足以使用低成本的硬件实现设备,而且又现实有效到足以在实现对象运动的动画时给出高品质的改进。
已公布的该发明可按多种途径进行修改,除了那些以上详细列出和说明的实施例外还可以采用多种实施例。例如,虽然本发明是参考利用多边形的3D对象的描述而进行说明的,利用其它的描述方案,例如二次曲面、超二次曲面、样条表面、不规则碎片和颗粒系统、斑点对象、八叉树系统、等表面显示、体积再现、扫略描述以及其它的可视化技术,本发明也能被等价地实现。
另外,本发明可以借助于任何适合的处理器或其它类型的计算电路实现,例如微处理器、微控制器、复杂指令集计算(CISC)微处理器、缩减指令集计算(RISC)微处理器、长指令字(VLW)微处理器、图像处理器、数字信号处理器、特殊用途集成电路(ASIC)、或其它类型的处理器或处理电路,或者它们的组合,但并非仅限于此。
而且,本发明不只限于在计算机屏幕上显示,也可以在其它任何输出显示设备上被实现,例如绘图仪、打印机、平板显示器、液晶显示器、等离子体显示屏、照相底片、全息图、虚拟现实显示、3D显示设备等等。
在不背离本发明的精神和基本特征的情况下,本发明可以以其它特定的形式被实现。因此,现有的实施例在所有方面都应被看成出于说明的目的,而并非给以限制,本发明的范围通过附加的权利要求被指明而非通过前述的说明被明确,所有来自这些权利要求的等价范围和意义之中的修改也因此都被囊括在其中。
Claims (30)
1.一种适合应用在处理器中的方法,包括:
生成代表要被显示在计算机屏幕第一处位置上的一个对象的第一组顶点数据;
生成代表要被显示在计算机屏幕第二处位置上的该对象的第二组顶点数据;
应用至少一种属性到一组顶点数据上;
处理第一组和第二组顶点数据以便在计算机屏幕的第一和第二处位置上显示该对象,至少一种属性以在第一处位置和第二处位置之间提供该对象的运动幻象的方式使该对象在第一处位置上看起来不同于第二处位置上。
2.权利要求1中所叙述的方法,其中第一和第二组顶点数据组中包括来自由几何数据和透视数据构成的数据组的顶点数据。
3.权利要求1中所叙述的方法还包括:
生成至少另外一组顶点数据,其表示该对象至少要在计算机屏幕的另外一处位置上被显示出来;
将至少一种属性的一个不同取值应用到至少一组另外的顶点数据上;
处理至少一组另外的顶点数据,以便在显示此至少一种属性的不同取值时将该对象显示在计算机屏幕的至少一处另外的位置上。
4.权利要求1所叙述的方法,其中至少一种属性来自于由透明度、颜色、亮度、反射度、填充、质地、尺寸和包括深度在内的位置构成的组中。
5.一种适合于应用在数据处理系统中的方法,包括:
生成代表要被显示在计算机屏幕第一处位置上的一个对象的第一组顶点数据;
生成代表要被显示在计算机屏幕第二处位置上的该对象的第二组顶点数据;
应用至少一种属性到一组顶点数据上;并且
再现第一组和第二组顶点数据以便将目标显示在计算机屏幕的第一和第二处位置上,至少一种属性以提供该对象在第一处位置和第二处位置之间的运动幻象的方式使该对象在第一处位置上看起来不同于在第二处位置上。
6.权利要求5中所叙述的方法,其中第一和第二组顶点数据包括的顶点数据来自由几何数据和透视数据构成的组。
7.权利要求5中所叙述的方法,还包括:
生成至少另外一组顶点数据,能够表示该对象至少要在计算机屏幕的另外一处位置上被显示出来;
将至少一种属性的一个不同取值应用到至少一组另外的顶点数据上;
再现至少一组另外的顶点数据,以便在显示此至少一种属性的不同取值时将该对象显示在计算机屏幕的至少一处另外的位置上。
8.权利要求7所叙述的方法,其中至少一组顶点数据是利用插值方法被生成。
9.权利要求7所叙述的方法,其中至少一组顶点数据是利用曲线拟合过程生成。
10.权利要求7所叙述的方法,其中至少两组顶点数据是通过一种能详细确定该对象的预定位置的图像应用程序而生成。
11.权利要求5所叙述的方法,其中至少一种属性来自于由透明度、颜色、亮度、反射度、填充、质地、尺寸和包括深度在内的位置所组成的组中。
12.权利要求5所叙述的方法,其中的操作按说明的顺序执行。
13.执行计算机程序的处理器包括下列操作:
生成代表要被显示在计算机屏幕第一处位置上的一个对象的第一组顶点数据;
生成代表要被显示在计算机屏幕第二处位置上的该对象的第二组顶点数据;
应用至少一种属性到一组顶点数据上;并且
处理第一组和第二组顶点数据以便在计算机屏幕的第一和第二处位置上显示该对象,至少一种属性以提供该对象在第一处位置和第二处位置之间的运动幻象的方式使该对象在第一处位置上看起来不同于在第二处位置上。
14.权利要求13中所叙述的处理器,其中第一和第二组顶点数据包括的顶点数据来自由几何数据和透视数据组成的组。
15.权利要求13中所叙述的处理器,其中,计算机程序还包括以下操作:
生成至少另外一组顶点数据,能够表示该对象至少要在计算机屏幕的另外一处位置上被显示出来;
将至少一种属性的一个不同取值应用到至少一组另外的顶点数据上;
处理至少另外一组顶点数据,以便在显示此至少一种属性的不同取值时将该对象显示在计算机屏幕的至少一处另外的位置上。
16.权利要求13所叙述的处理器,其中至少一种属性来自于由透明度、颜色、亮度、反射度、填充、质地、尺寸和包括深度在内的位置所组成的组中。
17.一种数据处理系统包括一个计算机屏幕和一个处理器,该处理器执行的计算机程序,包括下面的操作:
生成代表要被显示在计算机屏幕上第一处位置上的一个对象的第一组顶点数据;
生成代表要被显示在计算机屏幕上第二处位置上的该对象的第二组顶点数据;
应用至少一种属性到一组顶点数据上;并且
再现第一组和第二组顶点数据以便将目标显示在计算机屏幕的第一和第二处位置上,至少一种属性以提供该对象在第一处位置和第二处位置之间的运动幻象的方式使该对象在第一处位置上看起来不同于在第二处位置上。
18.权利要求17中所叙述的数据处理系统,其中第一和第二组顶点数据包括来自由几何数据和透视数据组成的组所组成的顶点数据。
19.权利要求17中所叙述的数据处理系统,其中计算机程序还包括以下操作:
生成至少另外一组顶点数据,能够表示该对象至少要在计算机屏幕的另外一处位置上被显示出来;
将至少一种属性的一个不同取值应用到至少一组另外的顶点数据上;
再现至少另外一组顶点数据,以便在显示此至少一种属性的不同取值时将该对象显示在计算机屏幕的至少一处另外的位置上。
20.权利要求19所叙述的数据处理系统,其中至少一组顶点数据是利用插值方法而被生成。
21.权利要求19所叙述的数据处理系统,其中至少一组顶点数据是利用曲线拟合过程被生成。
22.权利要求19所叙述的数据处理系统,其中至少两组顶点数据是通过一种能详细确定该对象的预定位置的图像应用程序而被生成。
23.权利要求17所叙述的数据处理系统,其中至少一种属性来自于由透明度、颜色、亮度、反射度、填充、质地、尺寸和包括深度在内的位置所组成的组中。
24.权利要求17所叙述的数据处理系统,其中的操作由处理器按所说明的顺序进行执行。
25.一种计算机可读取的介质包括计算机可执行的指令,用于命令处理器执行一种能够给要被显示到计算机屏幕上的对象提供运动幻象的方法,这些指令包括:
生成代表在计算机屏幕上第一处位置上的一个对象的第一组顶点数据;
生成代表要被显示在计算机屏幕上第二处位置上的该对象的第二组顶点数据;
应用至少一种属性到一组顶点数据上;并且
再现第一组和第二组顶点数据以便将目标显示在计算机屏幕的第一和第二处位置上,至少一种属性以提供该对象在第一处位置和第二处位置之间的运动幻象的方式使该对象在第一处位置上看起来不同于在第二处位置上。
26.权利要求25中所叙述的计算机可读取介质,其中第一和第二组顶点数据包括来自由几何数据和透视数据组成的组所组成的顶点数据,其中的至少一种属性来自于由透明度、颜色、亮度、反射度、填充、质地、尺寸和包括深度在内的位置所组成的组中。
27.权利要求25中所叙述的计算机可读取介质,其中指令还包括:
生成至少另外一组顶点数据,表示该对象至少要在计算机屏幕的另外一处位置上被显示出来;
将至少一种属性的一个不同取值应用到至少一组另外的顶点数据上;并且
再现至少另外一组顶点数据,以便在显示此至少一种属性的不同取值时将该对象显示在计算机屏幕的至少一处另外的位置上。
28.一种在其上存储数据结构的计算机可读取介质包括:
第一顶点数据块,表示一个对象要被再现在计算机屏幕上的第一处位置上;并且
第二顶点数据块,表示该对象要被再现在计算机屏幕上的第二处位置上,第二数据块中还包括属性数据,它以向该对象提供在第一处位置和第二处位置之间的运动幻象的方式使该对象在第二处位置上看起来不同于第一处位置上。
29.权利要求28所叙述的计算机可读取介质,其中数据结构包括:
第三顶点数据块,代表该对象要被再现在计算机屏幕的第三处位置上,该第三数据块中还包括具有与第二组数据块的属性数据不同取值的属性数据,此属性数据以向该对象提供在第一处位置和第二处位置之间的运动幻象的方式使该对象在第三处位置上看起来不同于第一处位置上。
30.权利要求28中所叙述的计算机可读取介质,其中第一和第二组顶点数据块包括来自由几何数据和透视数据组成的组所组成的顶点数据,其中的属性数据来自于由透明度、颜色、亮度、反射度、填充、质地、尺寸和包括深度在内的位置所组成的组中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/471,984 | 1999-12-23 | ||
US09/471,984 US6847364B1 (en) | 1999-12-23 | 1999-12-23 | Methods and apparatus for creating three-dimensional motion illusion in a graphics processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1618086A true CN1618086A (zh) | 2005-05-18 |
CN1322475C CN1322475C (zh) | 2007-06-20 |
Family
ID=23873767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB008176884A Expired - Fee Related CN1322475C (zh) | 1999-12-23 | 2000-12-15 | 在图象处理系统中创建三维运动幻象的方法和设备 |
Country Status (8)
Country | Link |
---|---|
US (1) | US6847364B1 (zh) |
CN (1) | CN1322475C (zh) |
AU (1) | AU2268001A (zh) |
DE (1) | DE10085297B4 (zh) |
GB (1) | GB2372685B (zh) |
HK (1) | HK1048548A1 (zh) |
TW (1) | TW548603B (zh) |
WO (1) | WO2001048692A2 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102169592A (zh) * | 2010-02-26 | 2011-08-31 | 新奥特(北京)视频技术有限公司 | 一种单箭头动画实现方法和装置 |
CN102169595A (zh) * | 2010-02-26 | 2011-08-31 | 新奥特(北京)视频技术有限公司 | 一种多箭头路径动画实现方法和装置 |
CN103907139A (zh) * | 2011-11-11 | 2014-07-02 | 索尼公司 | 信息处理装置、信息处理方法和程序 |
CN104937639A (zh) * | 2012-11-30 | 2015-09-23 | 株式会社电装 | 三维图像生成装置以及三维图像生成方法 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020040314A1 (en) * | 2000-05-08 | 2002-04-04 | Michael Tolson | Method and system for business application of a portable information agent |
US7877437B1 (en) * | 2000-05-08 | 2011-01-25 | H.E.B., Llc | Method and apparatus for a distributable globe graphical object |
WO2002021404A1 (en) * | 2000-09-06 | 2002-03-14 | Envoii | Method and apparatus for a portable information account access agent |
US20060059544A1 (en) * | 2004-09-14 | 2006-03-16 | Guthrie Paul D | Distributed secure repository |
US20060059117A1 (en) * | 2004-09-14 | 2006-03-16 | Michael Tolson | Policy managed objects |
US20060064739A1 (en) * | 2004-09-17 | 2006-03-23 | Guthrie Paul D | Relationship-managed communication channels |
US20040098349A1 (en) * | 2001-09-06 | 2004-05-20 | Michael Tolson | Method and apparatus for a portable information account access agent |
JP3990648B2 (ja) * | 2003-03-31 | 2007-10-17 | 株式会社バンダイナムコゲームス | プログラム、情報記憶媒体及び画像生成装置 |
US7164423B1 (en) * | 2003-04-30 | 2007-01-16 | Apple Computer, Inc. | Method and apparatus for providing an animated representation of a reorder operation |
US7787142B2 (en) * | 2003-05-09 | 2010-08-31 | Ppg Industries Ohio, Inc. | Method and system for designing the color of a coating composition on an article |
US20130181975A1 (en) * | 2012-01-18 | 2013-07-18 | Standard Nine Inc. (dba Inkling) | Systems and methods for objects associated with a three-dimensional model |
US20190114819A1 (en) * | 2017-10-13 | 2019-04-18 | Microsoft Technology Licensing, Llc | Dimensional content surface rendering |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0799376B2 (ja) * | 1987-07-23 | 1995-10-25 | 富士通株式会社 | 電圧測定装置 |
JPH07306955A (ja) | 1992-07-24 | 1995-11-21 | Walt Disney Co:The | 三次元イリュージョンを生み出す方法およびシステム |
US5613048A (en) | 1993-08-03 | 1997-03-18 | Apple Computer, Inc. | Three-dimensional image synthesis using view interpolation |
US5731819A (en) | 1995-07-18 | 1998-03-24 | Softimage | Deformation of a graphic object to emphasize effects of motion |
JP3138423B2 (ja) * | 1996-02-20 | 2001-02-26 | 株式会社ナムコ | シミュレーション装置 |
US6030289A (en) * | 1996-06-27 | 2000-02-29 | Konami Co., Ltd. | Video game apparatus, method of displaying models in video game apparatus, and computer-readable recording medium for use with video game apparatus |
US5933150A (en) | 1996-08-06 | 1999-08-03 | Interval Research Corporation | System for image manipulation and animation using embedded constraint graphics |
US5926190A (en) | 1996-08-21 | 1999-07-20 | Apple Computer, Inc. | Method and system for simulating motion in a computer graphics application using image registration and view interpolation |
US6288722B1 (en) * | 1996-10-17 | 2001-09-11 | International Business Machines Corporation | Frame buffer reconfiguration during graphics processing based upon image attributes |
US6234901B1 (en) * | 1996-11-22 | 2001-05-22 | Kabushiki Kaisha Sega Enterprises | Game device, picture data and flare forming method |
US6147692A (en) * | 1997-06-25 | 2000-11-14 | Haptek, Inc. | Method and apparatus for controlling transformation of two and three-dimensional images |
-
1999
- 1999-12-23 US US09/471,984 patent/US6847364B1/en not_active Expired - Fee Related
-
2000
- 2000-11-30 TW TW089125454A patent/TW548603B/zh not_active IP Right Cessation
- 2000-12-15 DE DE10085297T patent/DE10085297B4/de not_active Expired - Fee Related
- 2000-12-15 AU AU22680/01A patent/AU2268001A/en not_active Abandoned
- 2000-12-15 GB GB0212698A patent/GB2372685B/en not_active Expired - Fee Related
- 2000-12-15 CN CNB008176884A patent/CN1322475C/zh not_active Expired - Fee Related
- 2000-12-15 WO PCT/US2000/034110 patent/WO2001048692A2/en active Application Filing
-
2002
- 2002-12-30 HK HK02109415.6A patent/HK1048548A1/zh unknown
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102169592A (zh) * | 2010-02-26 | 2011-08-31 | 新奥特(北京)视频技术有限公司 | 一种单箭头动画实现方法和装置 |
CN102169595A (zh) * | 2010-02-26 | 2011-08-31 | 新奥特(北京)视频技术有限公司 | 一种多箭头路径动画实现方法和装置 |
CN102169595B (zh) * | 2010-02-26 | 2015-09-23 | 新奥特(北京)视频技术有限公司 | 一种多箭头路径动画实现方法和装置 |
CN103907139A (zh) * | 2011-11-11 | 2014-07-02 | 索尼公司 | 信息处理装置、信息处理方法和程序 |
CN103907139B (zh) * | 2011-11-11 | 2018-03-06 | 索尼公司 | 信息处理装置、信息处理方法和程序 |
CN104937639A (zh) * | 2012-11-30 | 2015-09-23 | 株式会社电装 | 三维图像生成装置以及三维图像生成方法 |
CN104937639B (zh) * | 2012-11-30 | 2017-06-27 | 株式会社电装 | 三维图像生成装置以及三维图像生成方法 |
Also Published As
Publication number | Publication date |
---|---|
US6847364B1 (en) | 2005-01-25 |
DE10085297B4 (de) | 2011-03-03 |
GB0212698D0 (en) | 2002-07-10 |
AU2268001A (en) | 2001-07-09 |
GB2372685B (en) | 2004-05-05 |
WO2001048692A3 (en) | 2003-01-16 |
WO2001048692A2 (en) | 2001-07-05 |
HK1048548A1 (zh) | 2003-04-04 |
DE10085297T1 (de) | 2002-12-19 |
TW548603B (en) | 2003-08-21 |
CN1322475C (zh) | 2007-06-20 |
GB2372685A (en) | 2002-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1618086A (zh) | 创建运动幻象的方法和设备 | |
US8253730B1 (en) | System and method for construction of data structures for ray tracing using bounding hierarchies | |
Cohen-Or et al. | A real-time photo-realistic visual flythrough | |
Tevs et al. | Maximum mipmaps for fast, accurate, and scalable dynamic height field rendering | |
CN101281656B (zh) | 用于将纹理映射到三维对象模型的方法和装置 | |
CN1173575C (zh) | 用于生成非均匀分辨率图象数据的方法和设备 | |
JP2002503855A (ja) | 可変解像度スーパーサンプリングによるグラフィックス・システム | |
CN1339142A (zh) | 使用通用3d图形管道进行成本低廉的数字图像和视频编辑的方法和装置 | |
US10089796B1 (en) | High quality layered depth image texture rasterization | |
JP2012190428A (ja) | 立体映像視覚効果処理方法 | |
US8319798B2 (en) | System and method providing motion blur to rotating objects | |
Cunzi et al. | Dynamic canvas for immersive non-photorealistic walkthroughs | |
EP4058162A1 (en) | Programmatically configuring materials | |
US6982719B2 (en) | Switching sample buffer context in response to sample requests for real-time sample filtering and video generation | |
Nah et al. | MobiRT: an implementation of OpenGL ES-based CPU-GPU hybrid ray tracer for mobile devices | |
WO2019183149A1 (en) | Improving area light shadows in computer generated scenes | |
JP4375840B2 (ja) | 光源表示方法および装置 | |
CN1351736A (zh) | 产生轮廓的方法和设备 | |
Malhotra | Issues involved in real-time rendering of virtual environments | |
JP2003281558A (ja) | 最適なタイリング性能のためにグラフィックスをラスタライズするための方法 | |
Blythe et al. | Lighting and shading techniques for interactive applications | |
US20220203231A1 (en) | Methods and Systems for Determining Decal Projections Intersecting Spacial Units in a Frame of a Game Space | |
CN108805964B (zh) | 基于OpenGL ES的VR机顶盒启动动画制作方法及系统 | |
JP3708904B2 (ja) | 画像処理プログラム | |
Chen | An implementation of basic three-dimensional graphics in real-time PC games |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070620 Termination date: 20101215 |