CN101819684A - 一种动画电影虚拟三维场景的空间加速结构及其创建与更新方法 - Google Patents

一种动画电影虚拟三维场景的空间加速结构及其创建与更新方法 Download PDF

Info

Publication number
CN101819684A
CN101819684A CN 201010143827 CN201010143827A CN101819684A CN 101819684 A CN101819684 A CN 101819684A CN 201010143827 CN201010143827 CN 201010143827 CN 201010143827 A CN201010143827 A CN 201010143827A CN 101819684 A CN101819684 A CN 101819684A
Authority
CN
China
Prior art keywords
node
pel
dynamic
variable
bounding box
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
CN 201010143827
Other languages
English (en)
Other versions
CN101819684B (zh
Inventor
陈纯毅
杨华民
范静涛
丁莹
韩成
冯欣
底晓强
陈占芳
张育力
曲福恒
权巍
从立钢
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.)
Changchun University of Science and Technology
Original Assignee
Changchun University of Science and Technology
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 Changchun University of Science and Technology filed Critical Changchun University of Science and Technology
Priority to CN201010143827XA priority Critical patent/CN101819684B/zh
Publication of CN101819684A publication Critical patent/CN101819684A/zh
Application granted granted Critical
Publication of CN101819684B publication Critical patent/CN101819684B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开一种动画电影虚拟三维场景的空间加速结构及其创建与更新方法,属于三维动画电影渲染技术领域。KD-tree、BVH、均匀栅格等现有空间加速结构及其创建与更新方法存在的主要问题是,要求每帧全部重建空间加速结构,导致空间加速结构的维护开销巨大。本发明提供的空间加速结构及其创建与更新方法将动画电影虚拟三维场景的几何对象分为静态几何对象和动态几何对象,并分别创建其图元的空间加速结构,通过指针将它们链接起来,每帧只需更新发生变化的动态几何对象的图元的加速结构,使得空间加速结构的维护开销能减少60%~80%。本发明主要应用于三维动画电影渲染领域。

Description

一种动画电影虚拟三维场景的空间加速结构及其创建与更新方法
技术领域
本发明涉及三维动画电影渲染技术,具体是一种动画电影虚拟三维场景的空间加速结构及其创建与更新方法,使用该空间加速结构及其创建与更新方法可以减少利用光线跟踪软件渲染三维动画电影的时间。
背景技术
三维动画电影作为近年来新兴的计算机艺术,发展势头非常迅猛,已经在许多行业得到了广泛的应用。为了在三维动画电影中获得很好的真实感,必须使用能实现全局光照效果的渲染方法。全局光照的基本任务是使用预先组织好的三维场景生成具有完全真实感的图像。为了达到这一目的,必须模拟光线在场景中进行传播所发生的各种物理现象(即进行光线跟踪计算),如多次的反射、阴影、焦散等。这不仅需要对场景中各种物体的几何特性和材质属性的精确描述,还需要求解计算多次反射、折射带来的无限维积分的问题。这使得全局光照计算成为一个极度复杂的问题,全局光照计算的复杂性使得渲染一幅真实感图像需要很长的时间。
对动画电影虚拟三维场景进行有效的组织,创建高效的空间加速结构,可以快速排除与光线不相交的图元,使得光线与图元之间的求交效率大大提高,从而加快了光线跟踪计算的速度。光线跟踪中常用的空间加速结构包括:KD-tree、BVH、均匀栅格等。一般来说,KD-tree的加速性能最高。动画电影虚拟三维场景属于动态场景,场景中的某些几何对象会随时间运动、变形、出现或者消失。如果直接在动画电影虚拟三维场景中使用上述空间加速结构进行光线跟踪,则需要对空间加速结构进行逐帧全部重建,否则会导致空间加速结构的质量显著降低甚至出现错误。对于大型动画电影虚拟三维场景来说,创建高效的场景空间加速结构非常耗时。在使用光线跟踪软件渲染三维动画时,逐帧全部重建场景的空间加速结构将会导致三维动画的总渲染时间大大增加。所以避免逐帧全部重建场景的空间加速结构是加快三维动画渲染速度的一条有效途径。
发明内容
本发明的目的在于提供一种动画电影虚拟三维场景的空间加速结构及其创建与更新方法,每帧仅重建和更新动画电影虚拟三维场景中发生变化的几何对象(在本发明中称为动态几何对象)的图元的空间加速结构,其他几何对象的图元的空间加速结构保持不变,避免了逐帧全部重建动画电影虚拟三维场景的空间加速结构,减少了三维动画的总渲染时间。在本发明中,将动态几何对象的图元称为动态图元,将静态几何对象的图元称为静态图元。
本发明提供一种动画电影虚拟三维场景的空间加速结构(ST00),该空间加速结构(ST00)为树形拓扑,如图3所示,它的每个非叶子结点(A001)的数据结构定义如图1所示,它的每个叶子结点(A002)的数据结构定义如图2所示。图3中的结点(301)为图1所示的非叶子结点,图3中的结点(302)为图2所示的叶子结点。
如图1所示,所述的非叶子结点(A001)包含一个静态图元包围盒变量(101)(变量名为staticAABB),一个动态图元包围盒变量(102)(变量名为dynamicAABB),一个指向左孩子结点的指针变量(103)(变量名为leftChildPtr),一个指向右孩子结点的指针变量(104)(变量名为rightChildPtr),一个指向动态图元加速结构(A003)的指针变量(105)(变量名为dynamicOAccerStruPtr)。
如图2所示,所述的叶子结点(A002)包含一个静态图元包围盒变量(201)(变量名为staticAABB),一个动态图元包围盒变量(202)(变量名为dynamicAABB),一个指向动态图元加速结构(A003)的指针变量(203)(变量名为dynamicOAccerStruPtr),一个静态图元列表变量(204)(变量名为staticPrimitiveList)。
本发明中所述的动态图元加速结构(A003)为树形拓扑,它的每个非叶子结点(A004)的数据结构如图4所示,它的每个叶子结点(A005)的数据结构定义如图5所示。图3中的结点(303)和结点(305)为图4所示的非叶子结点,图3中的结点(304)为图5所示的叶子结点。
如图4所示,所述的非叶子结点(A004)包含一个动态图元包围盒变量(401)(变量名为dynamicAABB),一个指向左孩子结点的指针变量(402)(变量名为leftChildPtr),一个指向右孩子结点的指针变量(403)(变量名为rightChildPtr)。
如图5所示,所述的叶子结点(A005)包含一个动态图元包围盒变量(501)(变量名为dynamicAABB),一个动态图元列表变量(502)(变量名为dynamicPrimitiveList)。
本发明提供一种动画电影虚拟三维场景的空间加速结构(ST00)的创建方法,所述方法包括以下步骤:
步骤(S101)、根据动画电影虚拟三维场景的场景图以及场景几何对象随时间的运动、变形、出现、消失等控制信息,将所有不随时间发生运动、变形、出现、消失等变化的场景几何对象标记为静态几何对象(A006),将其他的场景几何对象标记为动态几何对象(A007);
步骤(S102)、将所有静态几何对象(A006)当作一个静态场景,并将所有静态几何对象(A006)的图元存放在一个静态图元列表(A008)中;
步骤(S103)、将所有动态几何对象(A007)存放在一个动态几何对象列表(306)中,为每个动态几何对象(A007)创建一个动态图元列表并进行关联,再将每个动态几何对象的图元存放在与之关联的动态图元列表中;
步骤(S104)、对静态图元列表(A008)中的所有图元,创建表面积启发KD-tree空间加速结构(A009);
步骤(S105)、遍历KD-tree空间加速结构(A009):(a)对于KD-tree空间加速结构(A009)中的每个非叶子结点Ni,创建一个图1所示的非叶子结点N1,将Ni的包围盒赋值给N1的staticAABB变量,将N1的dynamicAABB变量的长、宽、高分量均赋值为-1,将N1的dynamicOAccerStruPtr变量赋值为空指针null;(b)对于KD-tree空间加速结构(A009)的每个叶子结点Nl,创建一个图2所示的叶子结点N0,将Nl的包围盒赋值给N0的staticAABB变量,将Nl的图元列表变量赋值给N0的staticPrimitiveList变量,将N0的dynamicAABB变量的长、宽、高分量均赋值为-1,将N0的dynamicOAccerStruPtr变量赋值为空指针null;(c)根据KD-tree空间加速结构(A009)中各结点的拓扑关系,设置与KD-tree空间加速结构(A009)的各非叶子结点一一对应的所有新创建的图1所示的非叶子结点的指向左孩子结点的指针变量(103)的值和指向右孩子结点的指针变量(104)的值,最终得到图3所示的由圆形结点组成的树状结构(A010),树状结构(A010)的每个非叶子结点具有如图1所示的数据结构,树状结构(A010)的每个叶子结点具有如图2所示的数据结构。
步骤(S106)、计算动态几何对象列表(306)中的每个动态几何对象(A011)的包围盒;对于每个动态几何对象(A011),遍历树状结构(A010),记录遍历到的满足如下条件的结点Nc
条件(A012):当结点Nc为非叶子结点时,结点Nc的静态图元包围盒变量(101)表示的包围盒能够完全包围动态几何对象(A011)的包围盒,当结点Nc为叶子结点时,结点Nc的静态图元包围盒变量(201)表示的包围盒能够完全包围动态几何对象(A011)的包围盒;
当找到满足条件(A012)的结点Nc后,则停止遍历,并把结点Nc加入一个集合(A013)中,再将结点Nc与动态几何对象(A011)相关联;如果遍历完树状结构(A010)的所有结点后,未找到满足条件(A012)的结点,则将树状结构(A010)的根结点加入集合(A013)中,并将树状结构(A010)的根结点与动态几何对象(A011)相关联。
步骤(S107)、对集合(A013)中的每个结点Ns,找出与之关联的所有动态几何对象;根据与这些动态几何对象相关联的动态图元列表,找到这些动态几何对象的所有图元,创建这些图元的表面积启发KD-tree空间加速结构(A014),并将其根结点Nroot的地址赋值给结点Ns的dynamicOAccerStruPtr变量(即结点Ns的dynamicOAccerStruPtr变量指向结点Nroot,图3中的结点(307)和结点(308)就是这种情形),将结点Nroot的包围盒赋值给结点Ns的dynamicAABB变量。
经过以上步骤就可以创建出图3所示的动画电影虚拟三维场景的空间加速结构。
本发明提供一种动画电影虚拟三维场景的空间加速结构(ST00)的更新方法,所述方法包括以下步骤:
步骤(S201)、根据动画电影虚拟三维场景的场景图以及场景几何对象随时间的运动、变形、出现、消失等控制信息,判断动态几何对象列表(306)中的每个动态几何对象(B001)在当前帧中是否发生变化,如果发生了变化,则将该动态几何对象(B001)标记为“发生变化”,否则,将该动态几何对象(B001)标记为“未发生变化”;
步骤(S202)、对每个被标记为“发生变化”的动态几何对象(B001),首先找出与之关联的树状结构(A010)中的结点,解除该结点与该动态几何对象(B001)的关联,并将该结点加入集合(B002)中;
步骤(S203)、对每个被标记为“发生变化”的动态几何对象(B001),遍历树状结构(A010),记录遍历到的满足如下条件的结点Nd
条件(B003):当结点Nd为非叶子结点时,结点Nd的静态图元包围盒变量(101)表示的包围盒能够完全包围动态几何对象(B001)的包围盒,当结点Nd为叶子结点时,结点Nd的静态图元包围盒变量(201)表示的包围盒能够完全包围动态几何对象(B001)的包围盒;
当找到满足条件(B003)的结点Nd后,则停止遍历,并把结点Nd加入一个集合(B002)中,再将结点Nd与动态几何对象(B001)相关联;如果遍历完树状结构(A010)的所有结点后,未找到满足条件(B003)的结点,则将树状结构(A010)的根结点加入集合(B002)中,并将树状结构(A010)的根结点与动态几何对象(B001)相关联。
步骤(S204)、对集合(B002)中的每个结点Nt,找出与之关联的所有动态几何对象;根据与这些动态几何对象相关联的动态图元列表,找到这些动态几何对象的所有图元,创建这些图元的表面积启发KD-tree空间加速结构(B004),并将其根结点Nr的地址赋值给结点Nt的dynamicOAccerStruPtr变量(即结点Nt的dynamicOAccerStruPtr变量指向结点Nr,图3中的结点(307)和结点(308)就是这种情形),将结点Nr的包围盒赋值给结点Nt的dynamicAABB变量。
执行以上步骤,可以实现在每帧中更新动画电影虚拟三维场景的空间加速结构,从而保证动画电影虚拟三维场景的空间加速结构的质量。
有益效果
本发明提供了一种动画电影虚拟三维场景的空间加速结构及其创建与更新方法。本发明中所述的空间加速结构的优点在于:在各帧之间只需要更新发生变化的动态几何对象的图元的空间加速结构,其他几何对象的图元的空间加速结构保持不变,避免了逐帧全部重建场景的空间加速结构带来的时间开销;本发明所述的方法对静态场景创建表面积启发KD-tree空间加速结构,保证了静态场景部分的光线跟踪的效率;本发明所述方法对包含于同一静态图元包围盒内的动态几何对象的图元创建表面积启发KD-tree空间加速结构,并且链接到树状结构(A010)的相应结点上,使得各帧间动态几何对象的图元的空间加速结构的更新变得灵活、有效,在渲染动画电影虚拟三维场景时,空间加速结构的维护开销能减少60%~80%。
附图说明
图1是动画电影虚拟三维场景的空间加速结构的非叶子结点的数据结构;图2是动画电影虚拟三维场景的空间加速结构的叶子结点的数据结构;图3是动画电影虚拟三维场景的空间加速结构的拓扑结构;图4动态图元加速结构的非叶子结点的数据结构;图5是动态图元加速结构的叶子结点的数据结构。
具体实施方式
为了使本发明的特征和优点更加清楚明白,下面结合具体实施例对本发明作进一步的描述。
考虑人行走在大街上的动画电影虚拟三维场景,场景中的街道、建筑物、路灯、天空、树木、花草等几何对象属于静态几何对象,场景中的人、车等几何对象属于动态几何对象。执行以下步骤可以完成本发明提供的动画电影虚拟三维场景的空间加速结构的创建:
步骤(A1)、首先根据动画电影虚拟三维场景的场景图以及几何对象随时间的运动、变形、出现、消失等控制信息将所有场景几何对象分类为静态几何对象和动态几何对象,把所有静态几何对象的图元存放在静态图元列表中,把所有动态几何对象存放在动态几何对象列表(Q001)中,为每个动态几何对象创建一个动态图元列表并进行关联,再将每个动态几何对象的图元存放在与之关联的动态图元列表中。
步骤(A2)、对静态图元列表中的所有图元,创建表面积启发KD-tree空间加速结构(Z001);遍历KD-tree空间加速结构(Z001):(a)对于KD-tree空间加速结构(Z001)中的每个非叶子结点Ni,创建一个图1所示的非叶子结点N1,将Ni的包围盒赋值给N1的staticAABB变量,将N1的dynamicAABB变量的长、宽、高分量均赋值为-1,将N1的dynamicOAccerStruPtr变量赋值为空指针null;(b)对于KD-tree空间加速结构(Z001)的每个叶子结点Nl,创建一个图2所示的叶子结点N0,将Nl的包围盒赋值给N0的staticAABB变量,将Nl的图元列表变量赋值给N0的staticPrimitiveList变量,将N0的dynamicAABB变量的长、宽、高分量均赋值为-1,将N0的dynamicOAccerStruPtr变量赋值为空指针null;(c)根据KD-tree空间加速结构(Z001)中各结点的拓扑关系,设置与KD-tree空间加速结构(Z001)的各非叶子结点一一对应的所有新创建的图1所示的非叶子结点的指向左孩子结点的指针变量(103)的值和指向右孩子结点的指针变量(104)的值,最终得到图3所示的由圆形结点组成的树状结构(Z002),树状结构(Z002)的每个非叶子结点具有如图1所示的数据结构,树状结构(Z002)的每个叶子结点具有如图2所示的数据结构。
步骤(A3)、计算动态几何对象列表(Q001)中的每个动态几何对象(Z003)的包围盒;对于每个动态几何对象(Z003),遍历树状结构(Z002),记录遍历到的满足如下条件的结点Nc
条件(Z004):当Nc为非叶子结点时,Nc的静态图元包围盒变量(101)表示的包围盒能够完全包围动态几何对象(Z003)的包围盒,当Nc为叶子结点时,Nc的静态图元包围盒变量(201)表示的包围盒能够完全包围动态几何对象(Z003)的包围盒;
当找到满足条件(Z004)的结点Nc后,停止遍历,并把Nc加入一个集合(Z005)中,再将Nc与动态几何对象(Z003)相关联;如果遍历完树状结构(Z002)的所有结点后,未找到满足条件(Z004)的结点,则将树状结构(Z002)的根结点加入集合(Z005)中,并将树状结构(Z002)的根结点与动态几何对象(Z003)相关联。
步骤(A4)、对集合(Z005)中的每个结点Ns,找出与之关联的所有动态几何对象,根据与这些动态几何对象相关联的动态图元列表,找到这些动态几何对象的所有图元,创建这些图元的表面积启发KD-tree空间加速结构(Z006),并将其根结点Nroot的地址赋值给Ns的dynamicOAccerStruPtr变量(即Ns的dynamicOAccerStruPtr变量指向Nroot,图3中的结点(307)和结点(308)就是这种情形),将Nroot的包围盒赋值给Ns的dynamicAABB变量。
在渲染每帧图像时,执行以下步骤可以完成对本发明的动画电影虚拟三维场景的空间加速结构的更新:
步骤(B1)根据动画电影虚拟三维场景的场景图以及场景几何对象随时间的运动、变形、出现、消失等控制信息,判断动态几何对象列表(Q001)中的每个动态几何对象(Z007)在当前帧中是否发生变化,如果发生了变化,则将该动态几何对象标记为“发生变化”,否则,将该动态几何对象标记为“未发生变化”;
步骤(B2)对每个被标记为“发生变化”的动态几何对象(Z007),首先找出与之关联的树状结构(Z002)中的结点,解除该结点与该动态几何对象(Z007)的关联,并将该结点加入集合(Z008)中;
步骤(B3)对每个被标记为“发生变化”的动态几何对象(Z007),执行类似于步骤(A3)中遍历树状结构(Z002)的过程,将找到的结点与该动态几何对象相关联,并将找到的结点加入集合(Z008)中;
步骤(B4)对集合(Z008)中的所有结点,执行类似于步骤(A4)中的过程,完成动画电影虚拟三维场景的空间加速结构的更新。
执行以上步骤,可以实现在每帧中更新动画电影虚拟三维场景的空间加速结构,从而保证动画电影虚拟三维场景的空间加速结构的质量和正确性。

Claims (3)

1.一种动画电影虚拟三维场景的空间加速结构(M101),其特征在于,空间加速结构(M101)为树形拓扑,空间加速结构(M101)的每个非叶子结点包含一个静态图元包围盒变量(101),一个动态图元包围盒变量(102),一个指向左孩子结点的指针变量(103),一个指向右孩子结点的指针变量(104),一个指向动态图元加速结构(M102)的指针变量(105),空间加速结构(M101)的每个叶子结点包含一个静态图元包围盒变量(201),一个动态图元包围盒变量(202),一个指向动态图元加速结构(M102)的指针变量(203),一个静态图元列表变量(204),动态图元加速结构(M102)为树形拓扑,动态图元加速结构(M102)的每个非叶子结点包含一个动态图元包围盒变量(401),一个指向左孩子结点的指针变量(402),一个指向右孩子结点的指针变量(403),动态图元加速结构(M102)的每个叶子结点包含一个动态图元包围盒变量(501),一个动态图元列表变量(502)。
2.一种动画电影虚拟三维场景的空间加速结构(M101)的创建方法,其特征在于,创建静态图元的空间加速结构和动态图元的空间加速结构,该方法的具体步骤包括:
步骤(S101)、根据动画电影虚拟三维场景的场景图以及场景几何对象随时间的运动、变形、出现、消失等控制信息,将所有不随时间发生运动、变形、出现、消失等变化的场景几何对象标记为静态几何对象(M201),将其他的场景几何对象标记为动态几何对象(M202);
步骤(S102)、将所有静态几何对象(M201)当作一个静态场景(M203),并将所有静态几何对象(M201)的图元存放在一个静态图元列表(M204)中;
步骤(S103)、将所有动态几何对象(M202)存放在一个动态几何对象列表(306)中,为每个动态几何对象(M202)创建一个动态图元列表(M205)并进行关联,再将每个动态几何对象(M202)的图元存放在与之关联的动态图元列表(M205)中;
步骤(S104)、对静态图元列表(M204)中的所有图元,创建表面积启发KD-tree空间加速结构(M206);
步骤(S105)、遍历KD-tree空间加速结构(M206):(a)对于KD-tree空间加速结构(M206)中的每个非叶子结点Ni,创建一个权利要求1所述的动画电影虚拟三维场景的空间加速结构(M101)的非叶子结点N1,将Ni的包围盒赋值给N1的静态图元包围盒变量(101),将N1的动态图元包围盒变量(102)的长、宽、高分量均赋值为-1,将N1的指向动态图元加速结构的指针变量(105)赋值为空指针null;(b)对于KD-tree空间加速结构(M206)的每个叶子结点Nl,创建一个权利要求1所述的动画电影虚拟三维场景的空间加速结构(M101)的叶子结点N0,将Nl的包围盒赋值给N0的静态图元包围盒变量(201),将Nl的图元列表变量赋值给N0的静态图元列表变量(204),将N0的动态图元包围盒变量(202)的长、宽、高分量均赋值为-1,将N0的指向动态图元加速结构的指针变量(203)赋值为空指针null;(c)根据KD-tree空间加速结构(M206)中各结点的拓扑关系,设置与KD-tree空间加速结构(M206)的各非叶子结点一一对应的所有新创建的非叶子结点的指向左孩子结点的指针变量(103)的值和指向右孩子结点的指针变量(104)的值,最终得到权利要求1所述的由动画电影虚拟三维场景的空间加速结构(M101)的非叶子结点和叶子结点组成的树状结构(M207);
步骤(S106)、计算动态几何对象列表(306)中的每个动态几何对象(M208)的包围盒,对于每个动态几何对象(M208),遍历树状结构(M207),记录遍历到的满足如下条件的结点Nc
条件(M209):当Nc为非叶子结点时,Nc的静态图元包围盒变量(101)表示的包围盒能够完全包围动态几何对象(M208)的包围盒,当Nc为叶子结点时,Nc的静态图元包围盒变量(201)表示的包围盒能够完全包围动态几何对象(M208)的包围盒;
当找到满足条件(M209)的结点Nc后,则停止遍历,并把结点Nc加入一个集合(M210)中,再将结点Nc与动态几何对象(M208)相关联;如果遍历完树状结构(M207)的所有结点后,未找到满足条件(M209)的结点,则将树状结构(M207)的根结点加入集合(M210)中,并将树状结构(M207)的根结点与动态几何对象(M208)相关联;
步骤(S107)、对集合(M210)中的每个结点Ns,找出与之关联的所有动态几何对象(M211);根据与这些动态几何对象(M211)相关联的动态图元列表,找到这些动态几何对象(M211)的所有图元(M212),创建这些图元(M212)的表面积启发KD-tree空间加速结构(M213),并将其根结点Nroot的地址赋值给结点Ns的指向动态图元加速结构的指针变量,将结点Nroot的包围盒赋值给结点Ns的动态图元包围盒变量。
3.一种动画电影虚拟三维场景的空间加速结构(M101)的更新方法,其特征在于,仅重建发生变化的动态几何对象的图元的空间加速结构,仅更新空间加速结构(M101)中的相关结点的动态图元包围盒变量和指向动态图元加速结构的指针变量,该方法的具体步骤包括:
步骤(S201)、根据动画电影虚拟三维场景的场景图以及场景几何对象随时间的运动、变形、出现、消失等控制信息,判断动态几何对象列表(306)中的每个动态几何对象(M202)在当前帧中是否发生变化,如果发生了变化,则将该动态几何对象(M202)标记为“发生变化”,否则,将该动态几何对象(M202)标记为“未发生变化”;
步骤(S202)、对每个被标记为“发生变化”的动态几何对象(M202),首先找出与之关联的树状结构(M207)中的结点,解除该结点与该动态几何对象(M202)的关联,并将该结点加入集合(M301)中;
步骤(S203)、对每个被标记为“发生变化”的动态几何对象(M202),遍历树状结构(M207),记录遍历到的满足如下条件的结点Nd
条件(M302):当结点Nd为非叶子结点时,结点Nd的静态图元包围盒变量(101)表示的包围盒能够完全包围动态几何对象(M202)的包围盒,当结点Nd为叶子结点时,结点Nd的静态图元包围盒变量(201)表示的包围盒能够完全包围动态几何对象(M202)的包围盒;
当找到满足条件(M302)的结点Nd后,则停止遍历,并把结点Nd加入一个集合(M301)中,再将结点Nd与动态几何对象(M202)相关联;如果遍历完树状结构(M207)的所有结点后,未找到满足条件(M302)的结点,则将树状结构(M207)的根结点加入集合(M301)中,并将树状结构(M207)的根结点与动态几何对象(M202)相关联;
步骤(S204)、对集合(M301)中的每个结点Nt,找出与之关联的所有动态几何对象(M303);根据与这些动态几何对象(M303)相关联的动态图元列表,找到这些动态几何对象(M303)的所有图元(M304),创建这些图元(M304)的表面积启发KD-tree空间加速结构(M305),并将其根结点Nr的地址赋值给结点Nt的指向动态图元加速结构的指针变量,将结点Nr的包围盒赋值给结点Nt的动态图元包围盒变量。
CN201010143827XA 2010-04-12 2010-04-12 一种动画电影虚拟三维场景的空间加速结构及其创建与更新方法 Expired - Fee Related CN101819684B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010143827XA CN101819684B (zh) 2010-04-12 2010-04-12 一种动画电影虚拟三维场景的空间加速结构及其创建与更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010143827XA CN101819684B (zh) 2010-04-12 2010-04-12 一种动画电影虚拟三维场景的空间加速结构及其创建与更新方法

Publications (2)

Publication Number Publication Date
CN101819684A true CN101819684A (zh) 2010-09-01
CN101819684B CN101819684B (zh) 2012-06-20

Family

ID=42654771

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010143827XA Expired - Fee Related CN101819684B (zh) 2010-04-12 2010-04-12 一种动画电影虚拟三维场景的空间加速结构及其创建与更新方法

Country Status (1)

Country Link
CN (1) CN101819684B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2493425A (en) * 2011-08-04 2013-02-06 Nvidia Corp Constructing an acceleration structure
CN103679791A (zh) * 2013-12-19 2014-03-26 广东威创视讯科技股份有限公司 三维场景分屏更新方法和系统
CN103810742A (zh) * 2012-11-05 2014-05-21 正谓有限公司 图像渲染方法和系统
CN104517309A (zh) * 2013-10-08 2015-04-15 博雅网络游戏开发(深圳)有限公司 帧循环中的动画处理方法和装置
CN105069834A (zh) * 2015-08-05 2015-11-18 北京乐动卓越科技有限公司 一种游戏图像渲染方法及系统
US9348860B2 (en) 2011-04-12 2016-05-24 Thomson Licensing Method for encoding a mesh model, encoded mesh model and method for decoding a mesh model
CN105957134A (zh) * 2011-08-05 2016-09-21 想象技术有限公司 用于3-d场景加速结构创建和更新的系统和方法
CN109377503A (zh) * 2018-10-19 2019-02-22 珠海金山网络游戏科技有限公司 图像更新方法和装置、计算设备及存储介质
CN110458934A (zh) * 2013-03-14 2019-11-15 想象技术有限公司 用隐式几何体进行3d图形渲染
WO2023138170A1 (zh) * 2022-01-18 2023-07-27 腾讯科技(深圳)有限公司 捕捉待渲染虚拟对象的运动轨迹的方法、装置及电子设备
US11861787B2 (en) 2013-03-14 2024-01-02 Imagination Technologies Limited 3-D graphics rendering with implicit geometry

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005066895A2 (en) * 2003-12-29 2005-07-21 Intel Corporation Method and mechanism for programmable filtering of texture map data in 3d graphics subsystems
CN1763784A (zh) * 2005-11-23 2006-04-26 北京航空航天大学 一种三维场景实时绘制框架和绘制方法
CN1851753A (zh) * 2005-11-28 2006-10-25 北京航空航天大学 一种基于状态集的Shader三维图形绘制框架和绘制方法
CN101057261A (zh) * 2004-11-15 2007-10-17 Arm挪威股份有限公司 三维图形处理
CN101281654A (zh) * 2008-05-20 2008-10-08 上海大学 一种基于八叉树的大规模复杂三维场景处理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005066895A2 (en) * 2003-12-29 2005-07-21 Intel Corporation Method and mechanism for programmable filtering of texture map data in 3d graphics subsystems
CN101057261A (zh) * 2004-11-15 2007-10-17 Arm挪威股份有限公司 三维图形处理
CN1763784A (zh) * 2005-11-23 2006-04-26 北京航空航天大学 一种三维场景实时绘制框架和绘制方法
CN1851753A (zh) * 2005-11-28 2006-10-25 北京航空航天大学 一种基于状态集的Shader三维图形绘制框架和绘制方法
CN101281654A (zh) * 2008-05-20 2008-10-08 上海大学 一种基于八叉树的大规模复杂三维场景处理方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9348860B2 (en) 2011-04-12 2016-05-24 Thomson Licensing Method for encoding a mesh model, encoded mesh model and method for decoding a mesh model
CN103106681A (zh) * 2011-08-04 2013-05-15 辉达公司 用于构建加速结构的系统、方法及计算机程序产品
GB2493425A (en) * 2011-08-04 2013-02-06 Nvidia Corp Constructing an acceleration structure
CN105957134A (zh) * 2011-08-05 2016-09-21 想象技术有限公司 用于3-d场景加速结构创建和更新的系统和方法
CN105957134B (zh) * 2011-08-05 2019-11-08 想象技术有限公司 用于3-d场景加速结构创建和更新的方法和装置
CN103810742B (zh) * 2012-11-05 2018-09-14 正谓有限公司 图像渲染方法和系统
CN103810742A (zh) * 2012-11-05 2014-05-21 正谓有限公司 图像渲染方法和系统
US11861787B2 (en) 2013-03-14 2024-01-02 Imagination Technologies Limited 3-D graphics rendering with implicit geometry
CN110458934B (zh) * 2013-03-14 2023-12-19 想象技术有限公司 用隐式几何体进行3d图形渲染
CN110458934A (zh) * 2013-03-14 2019-11-15 想象技术有限公司 用隐式几何体进行3d图形渲染
CN104517309A (zh) * 2013-10-08 2015-04-15 博雅网络游戏开发(深圳)有限公司 帧循环中的动画处理方法和装置
CN104517309B (zh) * 2013-10-08 2018-08-24 博雅网络游戏开发(深圳)有限公司 帧循环中的动画处理方法和装置
CN103679791A (zh) * 2013-12-19 2014-03-26 广东威创视讯科技股份有限公司 三维场景分屏更新方法和系统
CN105069834B (zh) * 2015-08-05 2018-06-01 北京乐动卓越科技有限公司 一种游戏图像渲染方法及系统
CN105069834A (zh) * 2015-08-05 2015-11-18 北京乐动卓越科技有限公司 一种游戏图像渲染方法及系统
CN109377503A (zh) * 2018-10-19 2019-02-22 珠海金山网络游戏科技有限公司 图像更新方法和装置、计算设备及存储介质
WO2023138170A1 (zh) * 2022-01-18 2023-07-27 腾讯科技(深圳)有限公司 捕捉待渲染虚拟对象的运动轨迹的方法、装置及电子设备

Also Published As

Publication number Publication date
CN101819684B (zh) 2012-06-20

Similar Documents

Publication Publication Date Title
CN101819684B (zh) 一种动画电影虚拟三维场景的空间加速结构及其创建与更新方法
US7773087B2 (en) Dynamically configuring and selecting multiple ray tracing intersection methods
US8004518B2 (en) Combined spatial index for static and dynamic objects within a three-dimensional scene
CN107016170A (zh) 一种基于WebGL的LED灯具三维定制仿真方法
CN103714577B (zh) 一种适用于带纹理模型的三维模型简化方法
CN102509355B (zh) 一种面向书法汉字的计算机虚拟雕刻方法
CN103337093B (zh) 一种基于Unity3D着色器实现三维机房实时温场效果的方法
CN102663801A (zh) 一种提高三维模型渲染性能的方法
CN112365597B (zh) 基于Modelica的三维模型创建与可视化仿真方法及装置
CN102521870B (zh) 一种微多边形光线跟踪的着色重用方法
CN102289845A (zh) 一种三维模型绘制方法以及装置
CN102855655A (zh) Gpu并行光线追踪渲染方法
CN104422396B (zh) 产品组装间隙三维分析系统及方法
CN103021018A (zh) 基于gpu的构建bvh树并行光线追踪方法
CN110473292A (zh) 一种三维场景中模型自动化加载布局方法
CN104392479A (zh) 一种利用灯光索引号对像素进行光照着色的方法
CN101394489B (zh) 一种基于模板和参数步长的字幕渲染效率瓶颈自动定位的方法
CN102426710A (zh) 图形处理器上的表面积启发式构建kd树并行方法
CN105184843A (zh) 一种基于OpenSceneGraph的三维动画制作方法
CN102346919B (zh) 在3d动画绘制中利用帧间时间相关的方法
CN103021012A (zh) 结合静态结构利用计算机绘制动态3d植物的方法
CN111035925A (zh) 游戏中虚拟交通道路网模型的生成方法、装置及电子装置
CN102074041A (zh) 一种由镜面反射产生的3d虚拟场景面焦散效果的绘制方法
CN104616338B (zh) 基于二维动画的时空一致的变速内插方法
CN109712236A (zh) 基于svg地图数据的三维可视化实现方法

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: 20120620

Termination date: 20130412