CN102157008B - 一种大规模虚拟人群实时绘制方法 - Google Patents
一种大规模虚拟人群实时绘制方法 Download PDFInfo
- Publication number
- CN102157008B CN102157008B CN201110090775.9A CN201110090775A CN102157008B CN 102157008 B CN102157008 B CN 102157008B CN 201110090775 A CN201110090775 A CN 201110090775A CN 102157008 B CN102157008 B CN 102157008B
- Authority
- CN
- China
- Prior art keywords
- model
- detail
- node
- lod
- sample point
- 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.)
- Expired - Fee Related
Links
Landscapes
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及了一种大规模虚拟人群实时绘制方法。包括以下步骤:步骤1,导入传统网格模型,提取模型几何信息与动画信息。步骤2,对模型进行八叉树(Octree)空间划分,其中每一个结点都保存了与结点几何大小相关的部分模型的近似描述。步骤3,对每一个结点所包含的部分模型表面进行点采样。步骤4,样本点的处理与建模,包括插值计算样本点信息,样本点动画信息选取和过采样去冗余等。步骤5,根据指定参数建立三层LOD(LevelsofDetail)等级的模型采样数据。步骤6,在实时渲染时,对大规模场景中的虚拟人群进行GPU加速的视锥体裁剪。步骤7,对裁剪结果实行GPU加速的LOD策略,包括角色LOD选择与LOD排序。步骤8,根据上述步骤的输出,依次对每一层LOD等级的角色进行基于GPU蒙皮骨骼动画的实例化渲染。本发明能够实现大规模虚拟人群的快速实时绘制。
Description
技术领域
本发明涉及一种大规模虚拟人群实时绘制方法,特别涉及一种结合了基于点采样的模型简化生成技术、基于GPU视锥体裁剪与LOD策略的实时绘制加速技术与基于GPU蒙皮骨骼动画的实例化渲染技术的快速绘制方法。
背景技术
作为虚拟现实技术(Virtual Reality)研究的一个热点与难点,大规模群体动画能实时地把密集人群的虚拟环境形象化。目前,它已经被广泛应用于商业、军事、娱乐、建筑、公共安全等众多领域。大规模虚拟人群实时绘制技术的主要应用领域是动态场景的绘制。与静态场景不同的是,动态场景在处理由海量数据所构成的大规模复杂场景的同时,还需要对场景中的人物角色所处的周围环境进行实时计算与动态处理,并根据特定的情况做出及时判断和反应。尤其是在角色数量不断增多的情况下,其所需的计算开销更是呈几何级数增长。
大规模虚拟人群实时绘制技术从开始受到关注到现在成为前沿方向,其发展并未经历一个很长的过程。但是,这没有影响人们对于它的研究热情。国内外的相关关键技术层出不穷,研究学者们从简化绘制、加速绘制以及快速绘制等多方面进行了研究与分析,提出了一系列用于群体实时绘制的技术。
在简化绘制方面,典型的方法包括基于点的绘制技术(Point-based Rendering Technique)与基于图像的绘制技术(Image-based Rendering Technique)。这两种技术都舍弃了传统的多边形渲染方法,通过新的渲染途径来达到简化的目的。前者是将点作为基本渲染图元,而后者则通过使用图像来代替多边形渲染。
在加速绘制方面,最常用的方法包括隐藏面移除(Hidden Surface Removal)技术与几何细节层次(Levels of Detail)技术。引入它们的目的在于将大规模场景中的物体分策略进行渲染,以有效利用硬件资源,提高绘制速度。对于场景中不可见的物体,需要将其剔除掉;对于距离视点较近的物体,需要使用高分辨率进行精细渲染;对于场景中难以分辨的物体,则需要采用低分辨率进行模糊渲染。但是,上述技术都是通过CPU(中央处理器:Central Processing Unit的缩写)对待绘制对象在场景中的相关信息进行采集以及计算处理,并将处理后的结果传入GPU(GPU英文全称Graphic Processing Unit,中文翻译为“图形处理器”),再利用GPU来进行角色的实时绘制。在GPU得到迅猛发展的今天,现代图形处理单元已经从早期功能单一的图形芯片进化为可以媲美过去超级计算机处理性能的强大处理器,其运算能力与处理速度俨然已经远远超过了普通CPU。人们提出了基于可编程图像硬件的绘制加速技术,将过去CPU应该负责的某些计算处理工作交由可编程硬件GPU来承担,既利用了GPU超强的运算处理能力,提高了数据吞吐量,又最大程度地解放了CPU,使CPU能腾出更多的精力来进行群体模拟运算。
而在大规模群体绘制技术方面,典型的方法包括实例化(Instancing)技术。在群体真实模拟中,每一个虚拟角色都应该具有一定的个性特征,例如外观、位置、动作等。因此,计算机需要对每一个角色进行单独处理,然后使用一次渲染调用进行绘制。但是,一次渲染调用只绘制一个角色,这种做法不仅费时费力,而且还严重限制着群体规模的大小。考虑到群体角色的几何相似性,人们提出了实例化技术,使用一次渲染调用就能绘制出多个实例。
发明内容
为了提高大规模虚拟人群实时绘制的效率与质量,实现大量人群快速逼真的绘制,本发明从简化绘制、加速绘制以及快速绘制方面出发,提供了一种结合基于点采样的模型简化生成技术、基于GPU视锥体裁剪与LOD策略的实时绘制加速技术与基于GPU蒙皮骨骼动画的实例化渲染技术的快速绘制方法。
本发明所采用的技术方案是:一种大规模虚拟人群实时绘制方法,该方法使用点采样技术生成对应等级的层次细节模型,并通过基于图形处理器的视锥体裁剪与多细节层次策略来加速实时绘制,最后通过基于图形处理器蒙皮骨骼动画的实例化渲染来达到快速绘制大规模虚拟人群的目的;其具体步骤包括:步骤1,导入网格模型,提取模型几何信息与动画信息;步骤2,对模型进行八叉树空间划分;步骤3,对每一个结点所包含的模型表面进行点采样;步骤4,样本点的处理与建模;步骤5,根据指定参数建立多细节层次等级的模型采样数据;步骤6,在实时渲染时,对大规模场景中的虚拟人群进行图形处理器加速的视锥体裁剪;步骤7,对裁剪结果实行图形处理器加速的多细节层次策略,包括角色多细节层次选择与多细节层次排序;步骤8,根据上述步骤的输出,依次对每一层多细节层次等级的角色进行基于图形处理器蒙皮骨骼动画的实例化渲染。
优选地,上述多细节层次等级的模型为三层。
优选地,上述优选地,上述步骤2中具体包含以下步骤:步骤2.1, 判断当前结点是否满足划分终止条件,结点的边长小于给定阀值或者结点中包含的三角形面片数小于给定阀值;步骤2.2, 八叉树创建完毕后,将模型中的所有三角形面片进行判断并添加保存到各个结点中。
优选地,上述步骤3中对结点所包含的模型表面进行点采样时有效采样区间小于结点的区间。
优选地,上述步骤4具体包括如下步骤:步骤4.1,通过线性插值法计算样本点的位置坐标与纹理坐标;步骤4.2,选择与相交点距离最近的顶点的骨骼索引与权重信息作为样本点的动画控制信息;步骤4.3,进行采样去冗余。
优选地,上述步骤6具体包含以下步骤:步骤6.1,为场景中的每一种角色计算轴对齐的矩形包围盒,并使用该矩形包围盒的中心来替代角色;步骤6.2,利用视图-投影矩阵构造视锥体六个裁剪平面信息,并传入渲染管线;步骤6.3,将简化顶点集合作为输入传入图形处理器进行渲染。
优选地,上述步骤7具体包含以下步骤:步骤7.1,创建缓存,分别用于接受多细节层次选择输出与多细节层次排序输出;步骤7.2,计算出每一个可见角色与视点的距离,并将其依次与多细节层次阀值进行比较,从而得到对应的多细节层次等级;步骤7.3 ,以多细节层次选择的输出缓存作为输入,分别对其使用渲染调用来进行多细节层次排序。
优选地,上述步骤8具体包含以下步骤:步骤8.1,依次对每一层多细节层次排序渲染从图形处理器中下载排序结果;步骤8.2,对每一层多细节层次等级以对应的多细节层次缓存与采样点数据作为输入进行实例化渲染。
本发明的有益效果是:提出了一种新的快速绘制方法。该方法引入并结合了基于点采样的模型简化生成技术、基于GPU视锥体裁剪与LOD策略的实时绘制加速技术以及基于GPU蒙皮骨骼动画的实例化渲染技术,来实现对大规模虚拟人群的实时绘制过程中的各个阶段进行简化与加速处理,达到最大程度地提升渲染性能的目的;同时,为了使得这三种技术在各自的处理阶段表现的更加出色,以及尽量减少它们在相互之间的过渡过程中的性能损耗,本发明还特别针对方法中的每一种技术做出了相应的优化与修改。包括:在基于点采样的模型简化生成技术中:通过判断有效采样区间来增加采样命中率,选择线性插值方法来重建样本点信息,采用样本点去冗余来简化采样结果,以保留更多的有效细节信息;通过一次采样数据能够建立多层LOD简化模型,减少了预处理时间;使用基于调色板蒙皮动画技术的样本点动画驱动方法,降低了计算开销,实现了群体动画的多样性以及对单个角色的交互控制,满足大规模虚拟人群实时动画的要求;在GS中对样本点进行分裂处理,生成摄像机朝向的布告板来替代样本点进行最终的绘制,利用了GS对几何单元快速处理的优点,提高了渲染速度。在基于GPU视锥体裁剪与LOD策略的实时绘制加速技术中:通过可编程渲染管线来实现视锥体裁剪与LOD策略,利用GPU强大的运算处理能力提高了数据吞吐量,最大程度地解放了CPU,使CPU能更专注于群体模拟运算;引入了LOD排序处理,实现了从加速系统到渲染系统的过渡。在基于GPU蒙皮骨骼动画的实例化渲染技术中:在对样本点进行绘制时引入了GS阶段,实现了从模型简化阶段到渲染阶段的过渡;通过GPU来完成样本点的蒙皮骨骼动画,并对相同LOD等级的角色进行实例化渲染,减少了绘制调用与模型切换次数,降低了内存需求,提高了大规模虚拟群体渲染的实时帧率。
附图说明
图1显示出了本方法的流程图。
图2 显示出了动画纹理示意图。
图3显示出了线性插值样本点计算方法。
图4显示出了“扩展后的视锥体”裁剪方法。
图5显示出了LOD选择的输出结果。
图6显示出了LOD排序的输出结果。
图7显示出了实例化的基本原理。
具体实施方式
该实时绘制方法首先通过基于点采样的模型简化技术生成三层LOD等级的简化模型,在渲染时使用基于GPU的视锥体裁剪与LOD策略技术来实现绘制加速,最后通过基于GPU蒙皮骨骼动画的实例化渲染技术来完成相同LOD等级角色的批次渲染。下面结合附图和实施为例对本方法进行进一步说明(图1所示的流程图给出了整个实施的具体过程)。
步骤1:导入传统网格模型,提取模型几何信息与动画信息。本实施例选用以x为文件扩展名的.x模型文件作为输入,将几何模型数据填入顶点缓存(Vertex Buffer)与索引缓存(Index Buffer)。并使用如下方法进行模型动画信息的传输与使用:将模型中全部动作的所有关键帧的每块骨骼变换矩阵都压缩到一张纹理数据中,即动画纹理。其中,每块骨骼的变换矩阵都被压缩成了 的矩阵,并以行为单位被线性地存储到纹理中的一个纹理像素中,排列方式如图2所示。其中,每行数据的个数必须是4的倍数。在可编程渲染管线的顶点着色器阶段,可以通过对动画纹理解码得到所需的骨骼变换矩阵。
压缩方法如下:
其中,表示一个待压缩的骨骼变换矩阵,为该矩阵第行第列的元素。
在使用时,根据群体模拟更新,可使用其它的群体行为仿真算法,这里将其简化为随机生成的结果,得到实例动画信息即动画解码索引:动作索引(标志动作在动作集里的起始位置)以及骨骼变换矩阵索引(每个动作中一个骨骼变换矩阵的起始位置)。将上述两者相加计算得出该骨骼变换矩阵在纹理中的线性偏移量,以为索引在动画纹理中查找所需骨骼变换矩阵的各行,再解码得到的完整矩阵。
解码方法如下:
其中,表示解码后的矩阵,为该矩阵第行第列的元素。
步骤2:对模型进行八叉树空间划分。划分的具体步骤如下:
步骤2.1 计算模型的AABB(全称:Axis-aligned Bounding Box,意为轴对齐的矩形包围盒,该包围盒刚好能包含模型的所有顶点并且包围盒的每一条边都平行于一个坐标轴。),并以该AABB为根结点开始构建八叉树:
步骤2.1.1 计算该结点AABB的中心与边的半长,作为初始划分参数。
步骤2.1.2 创建结点,并计算结点的边界点:与(为结点区间的最小下界点, 为结点区间的最大上界点,则构成了结点AABB的范围区间)。
步骤2.1.3 遍历模型中的所有三角形,并记录包含在该结点中面片数。
步骤2.1.4 判断当前结点是否满足划分终止条件:结点边的半长小于给定阀值或者结点中包含的三角形面片数小于给定阀值:
()
其中为结点边的半长;为的给定阀值;为结点中包含的三角形面片数;为的给定阀值。
步骤2.1.5 如果不满足终止条件,则将该结点按照划分为八个子结点并添加到八叉树中。步骤2.1.6 对每个子结点按照步骤2.1.1至步骤2.1.5继续处理,直到再无结点能够继续划分。
步骤2.2 八叉树创建完毕后,遍历模型中所有三角形面片(由步骤1所得),并对其进行判断,添加并保存到各个结点中。
步骤3:对每一个结点所包含的部分模型表面进行点采样。该步骤是伴随着步骤2进行的,当模型中所有的三角形面片都被添加到了八叉树的结点中之后,开始依次对每个结点进行采样处理。具体步骤如下:
步骤3.1 考虑到结点中的模型网格大多都是连续的,因此可以选用这一段连续网格的区间来作为采样区间。通过设定有效采样区间大小严格不大于结点的区间大小以保证其最大采样距离为结点边长的一定比例。确定结点有效采样区间的方法如下:
步骤3.1.1 遍历结点包含的所有三角形面片的各个顶点,确定模型网格的连续区间,并使。
步骤3.1.2 对该区间进行限制,以使其不超过结点区间大小:
步骤3.1.3 根据采样密度(用以表示采样射线组的密集程度,需手动设置,如)计算得到采样射线数:
根据采样密度与有效区间计算得到各方向上的采样距离即射线间距:
步骤3.2 根据采样射线数与射线间距,构建结点相关的分别与X、Y、Z三个坐标轴平行的采样射线组。其中,每条射线包含一个顶点及射线方向。计算公式如下:
(表示第条射线)
步骤3.3 采样射线组与结点中模型表面相交得到样本点信息:样本点所在三角形的索引、方向上的偏移量与方向上的偏移量。
步骤3.4 遍历该结点的子结点,对每个子结点按照步骤3.1至步骤3.3继续进行采样处理,直到八叉树划分完毕。
步骤4:样本点的处理与建模,包括插值计算样本点信息,样本点动画信息选取和过采样去冗余等。当对结点采样完成后,需立即根据得到的采样信息对样本点进行处理与建模,并将结果保存在八叉树结构中。具体步骤如下:
步骤4.1 根据步骤3中得到样本点信息(所在三角形的索引、方向上的偏移量与方向上的偏移量)对样本点进行几何信息重建,并保存在八叉树结点中。通过三角形顶点线性插值的方法来计算样本点的位置坐标与纹理坐标。插值方法如图3所示。公式如下:
其中,为采样点相应坐标,、、分别为样本点所在三角形的三个顶点对应坐标。
而样本点的法向坐标公式如下:
其中,为采样点的法向坐标,、、分别为样本点所在三角形的三个顶点对应位置坐标。
步骤4.2 选择与相交点距离最近的三角形顶点的骨骼索引与权重信息作为样本点的动画控制信息。
步骤4.3 使用如下方式进行过采样去冗余:依次遍历结点中的所有采样点,删除与之相隔距离低于的其它样本点。其中,为最大采样距离,计算方法为。
步骤5:根据设置用户参数建立三层LOD等级的模型采样数据:递归遍历八叉树,将最大采样距离与进行比较,直到第一次出现最大采样距离小于时停止遍历。此时,该层样本数据的分辨率已经满足所需的显示要求,记录这层结点中所有的样本点数据作为一个LOD等级。而要实现三层LOD等级的样本数据的收集,则需要通过设置三次参数,并重复三次上述方法来完成。
步骤6:在实时渲染时,对经过模拟更新后的大规模场景中的虚拟人群进行GPU加速的视锥体裁剪。具体步骤如下:
步骤6.1 为每一种角色类型预先计算其AABB,该AABB是刚好能够容纳该类角色所有动作的最小包围盒。将最大的AABB的体对角线长度记为,用的长度向外扩展视锥体的各个裁剪平面。这样,如果有AABB与视锥体边界相交,则“扩展后的视锥体”也能够将其AABB中心包含进去,如图4所示。如此就能将每一个角色简化为单个顶点,该顶点的位置就是角色AABB的中心坐标。
步骤6.2 利用视图-投影(View-Projection)矩阵(由摄像机更新得到)使用标准平面方程快速构造视锥体的六个裁剪平面信息,并传入渲染管线,方法如下:
平面 | 平面方程系数 |
上平面 | |
下平面 | |
左平面 | |
右平面 | |
近平面 | |
远平面 |
其中,为视图-投影矩阵第行第列的元素。
步骤6.3 使用群体模拟更新每个虚拟角色的渲染相关信息(包括世界位置信息与动画解码索引等),并传入GPU常量缓存器。
实例属性数据结构如下,其中世界矩阵采用与骨骼变换矩阵相同的方式压缩:
常量缓存器数据结构如下:
步骤6.4 将简化顶点写入顶点缓存作为输入,并以顶点列表模式进行渲染。同时在其顶点结构中设置,作为查询角色实例信息的索引。其中是由渲染管线自动生成,为每一个顶点标示一个索引值。
步骤6.5 使用可编程渲染管线对其进行视锥体裁剪,方法如下:
步骤6.5.1 在VS阶段,根据从IA处得到的顶点值查找常量缓存器中的实例数据得到对应实例的渲染属性,将得到的数据进行解码(解码方法如步骤1所示)得到世界矩阵,并计算顶点所替代角色的AABB中心的世界坐标位置。
步骤6.5.2 在GS阶段,对世界变换后的顶点进行视锥体裁剪,依次测试每一个顶点是否位于“扩展后的视锥体”的内部。方法如下:依次计算视锥体的每一个裁剪面与顶点的有向距离,如果有向距离小于,则该角色位于视锥体的外部。其中,有向距离计算公式为:
。
步骤6.5.3 将裁剪得到的顶点作为步骤7的输入。
步骤7:对裁剪结果实行GPU加速的LOD策略,包括角色LOD选择与LOD排序。
步骤7.1 在资源初始化阶段创建四个Stream-Out缓存,分别用于接受LOD选择输出与三次LOD排序输出。
步骤7.2 在渲染时,每一帧实时更新虚拟摄像机的世界坐标,并将其传入GPU渲染管线中的常量缓存器。
步骤7.3在GPU视锥体裁剪的GS阶段,根据裁剪得到的结果即可见角色的简化顶点集合计算出每一个可见角色与视点的距离,并将其依次与LOD层次阀值进行比较,从而得到角色对应的LOD等级。其中LOD1的阀值为,距离小于它的所有角色都被设置为等级1;LOD2的阀值为,距离小于它的所有角色都被设置为等级2;大于它的所有角色都被设置为等级3。
步骤7.4 在SO阶段,将LOD选择后的结果输出到一个LOD缓存中。输出的结果为包含有角色ID与LOD值的顶点数据集合,如图5所示。
步骤7.5 以步骤四的输出缓存作为输入,分别对其使用三次渲染调用来进行LOD排序。每一遍渲染管线都会输出填写一个LOD缓存,将拥有对应LOD等级的角色顶点数据写入到该LOD缓存中。在具体的渲染管线中,VS只是简单的传递数据而不做任何操作。主要的工作在GS中完成:它检测当前顶点的LOD等级,并写入到对应的LOD 缓存中,这样就完成了收集拥有相同LOD等级的顶点的任务。输出结果如图6所示。
步骤8:根据上述步骤的输出,依次对每一层LOD等级的角色进行基于GPU蒙皮骨骼动画的实例化渲染。实例化的基本原理如图7所示。具体步骤如下:
步骤8.1 将从模型中提取的动画数据经过编码压缩成动画纹理(编码方法如步骤1所示),传入GPU渲染管线。
步骤8.2 依次对每一层LOD排序渲染从GPU中下载排序结果,得到每一层LOD等级的角色实例数。
步骤8.3 对每一层LOD等级以对应的LOD缓存和步骤5中得到的样本点信息作为输入进行一次实例化渲染:在VS阶段,将LOD缓存中的每一个元素(即该LOD等级下可见角色的ID)作为实例缓存数据的一个索引,查找实例对应的渲染信息(包括世界位置信息与动画解码索引等)。然后对数据进行解码得到能够使用的世界矩阵与骨骼变换矩阵。并根据LOD等级选择适当的模型采样数据,利用从动画纹理中提取的动作数据对其进行蒙皮动画,最后再对其进行世界坐标转换;在GS阶段,对每一个样本点以进行分裂操作,得到由四个顶点组成的摄像机朝向的布告板面片。
其中,布告板顶点的坐标为:
构造摄像机朝向的世界变换矩阵为:
其中,摄像机为。
布告板顶点坐标将被变换到其次裁剪空间,而法向及纹理坐标均与样本点保持一致。在PS阶段,进行纹理与光照计算,得到该顶点的像素显示。最后将各布告板面片使用值按照的方式进行透明混合渲染。混合方式如下所示:
其中,为最终的像素显示,,,,,为源像素显示,为源值,为目标像素显示。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。
Claims (6)
1.一种大规模虚拟人群实时绘制方法,该方法使用点采样技术生成对应等级的层次细节模型,并通过基于图形处理器的视锥体裁剪与多细节层次策略来加速实时绘制,最后通过基于图形处理器蒙皮骨骼动画的实例化渲染来达到快速绘制大规模虚拟人群的目的;其具体步骤包括:
步骤1,导入网格模型,提取模型几何信息与动画信息;
步骤2,对模型进行八叉树空间划分;
步骤3,对每一个结点所包含的模型表面进行点采样;
步骤4,样本点的处理与建模;
步骤5,根据指定参数建立多细节层次等级的模型采样数据;
步骤6,在实时渲染时,对大规模场景中的虚拟人群进行图形处理器加速的视锥体裁剪;
步骤7,对裁剪结果实行图形处理器加速的多细节层次策略,包括角色多细节层次选择与多细节层次排序;
步骤8,根据上述步骤的输出,依次对每一层多细节层次等级的角色进行基于图形处理器蒙皮骨骼动画的实例化渲染;
所述步骤3中对结点所包含的模型表面进行点采样时有效采样区间小于结点的区间;
所述步骤4具体包括如下步骤:
步骤4.1,通过线性插值法计算样本点的位置坐标与纹理坐标;
步骤4.2,选择与相交点距离最近的顶点的骨骼索引与权重信息作为样本点的动画控制信息;
步骤4.3,进行采样去冗余;
所述步骤4.1具体为:根据步骤3中得到的样本点信息对样本点进行几何信息重建,并保存在八叉树结点中,通过三角形顶点线性插值的方法来计算样本点的位置坐标与纹理坐标。
2.根据权利要求1所述的方法,其特征在于,所述多细节层次等级的模型为三层。
3.根据权利要求1所述的方法,其特征在于,所述步骤2中具体包含以下步骤:
步骤2.1, 判断当前结点是否满足划分终止条件,结点的边长小于给定阈值或者结点中包含的三角形面片数小于给定阈值;
步骤2.2, 八叉树创建完毕后,将模型中的所有三角形面片进行判断并添加保存到各个结点中。
4.根据权利要求1所述方法,其特征在于,所述步骤6具体包含以下步骤:
步骤6.1,为场景中的每一种角色计算轴对齐的矩形包围盒,并使用该矩形包围盒的中心来替代角色;
步骤6.2,利用视图-投影矩阵构造视锥体六个裁剪平面信息,并传入渲染管线;步骤6.3,将简化顶点集合作为输入传入图形处理器进行渲染。
5.根据权利要求1所述方法,其特征在于,所述步骤7具体包含以下步骤:
步骤7.1,创建缓存,分别用于接受多细节层次选择输出与多细节层次排序输出;步骤7.2,计算出每一个可见角色与视点的距离,并将其依次与多细节层次阈值进行比较,从而得到对应的多细节层次等级;
步骤7.3 ,以多细节层次选择的输出缓存作为输入,分别对其使用渲染调用来进行多细节层次排序。
6.根据权利要求1所述方法,其特征在于,所述步骤8具体包含以下步骤:
步骤8.1,依次对每一层多细节层次排序渲染从图形处理器中下载排序结果;
步骤8.2,对每一层多细节层次等级以对应的多细节层次缓存与采样点数据作为输入进行实例化渲染。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110090775.9A CN102157008B (zh) | 2011-04-12 | 2011-04-12 | 一种大规模虚拟人群实时绘制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110090775.9A CN102157008B (zh) | 2011-04-12 | 2011-04-12 | 一种大规模虚拟人群实时绘制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102157008A CN102157008A (zh) | 2011-08-17 |
CN102157008B true CN102157008B (zh) | 2014-08-06 |
Family
ID=44438486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110090775.9A Expired - Fee Related CN102157008B (zh) | 2011-04-12 | 2011-04-12 | 一种大规模虚拟人群实时绘制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102157008B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663805B (zh) * | 2012-04-18 | 2014-05-28 | 东华大学 | 一种基于投影的视锥体裁剪的方法 |
CN102768766A (zh) * | 2012-06-11 | 2012-11-07 | 天津大学 | 一种三维群体动画建模 |
CN102800116B (zh) * | 2012-06-18 | 2014-11-05 | 浙江大学 | 一种快速创建大规模虚拟人群的方法 |
CN103310478B (zh) * | 2013-06-04 | 2016-02-03 | 合肥工业大学 | 一种多样化虚拟人群生成的方法 |
CN103617643B (zh) * | 2013-11-29 | 2017-01-11 | 广州菲动软件科技有限公司 | 骨骼动画的渲染方法和系统 |
CN103914868B (zh) * | 2013-12-20 | 2017-02-22 | 柳州腾龙煤电科技股份有限公司 | 虚拟现实下的海量模型数据动态调度与实时异步加载方法 |
CN104268920B (zh) * | 2014-09-05 | 2017-08-18 | 无锡梵天信息技术股份有限公司 | 一种利用布娃娃物理系统模拟人物角色死亡的方法 |
CN105513099B (zh) * | 2015-11-27 | 2019-01-22 | 北京像素软件科技股份有限公司 | 一种骨骼动画数据的压缩方法及装置 |
CN105488841B (zh) * | 2015-12-28 | 2018-02-23 | 北京像素软件科技股份有限公司 | 一种公告板的渲染方法和装置 |
CN105574934A (zh) * | 2015-12-29 | 2016-05-11 | 珠海金山网络游戏科技有限公司 | 一种基于lod绘制树模型实例的方法和装置 |
CN107038737B (zh) * | 2016-02-03 | 2021-05-28 | 博雅网络游戏开发(深圳)有限公司 | 立体棋牌绘制方法和装置 |
CN105817031A (zh) * | 2016-03-16 | 2016-08-03 | 小天才科技有限公司 | 游戏地图的物体绘制方法及装置 |
CN107341846B (zh) * | 2017-06-21 | 2020-06-09 | 华中科技大学 | 一种实时显示大规模三维重建场景的方法及设备 |
CN111417987A (zh) * | 2017-07-28 | 2020-07-14 | 北奥拜勃工作室有限公司 | 用于实时复杂角色动画和交互性的系统和方法 |
CN108597015A (zh) * | 2018-01-08 | 2018-09-28 | 江苏辰锐网络科技有限公司 | 三维生物模型骨骼自动绑定系统、方法、设备及计算机程序产品 |
CN108711182A (zh) * | 2018-05-03 | 2018-10-26 | 广州爱九游信息技术有限公司 | 渲染处理方法、装置及移动终端设备 |
CN109345615B (zh) * | 2018-10-25 | 2023-06-09 | 网易(杭州)网络有限公司 | 蒙皮数据生成方法以及装置、电子设备及存储介质 |
CN109523618B (zh) * | 2018-11-15 | 2022-02-22 | 广东趣炫网络股份有限公司 | 一种3d场景的优化方法、装置、设备及介质 |
CN111598976B (zh) * | 2019-02-01 | 2023-08-22 | 华为技术有限公司 | 场景识别方法及装置、终端、存储介质 |
CN110570507B (zh) * | 2019-09-11 | 2023-09-19 | 珠海金山数字网络科技有限公司 | 一种图像渲染方法及装置 |
CN110544291B (zh) * | 2019-09-11 | 2023-05-09 | 珠海金山数字网络科技有限公司 | 一种图像渲染方法及装置 |
CN112215935B (zh) * | 2020-12-02 | 2021-04-16 | 江西博微新技术有限公司 | Lod模型自动切换方法、装置、电子设备及存储介质 |
CN112233217B (zh) * | 2020-12-18 | 2021-04-02 | 完美世界(北京)软件科技发展有限公司 | 一种虚拟场景的渲染方法和装置 |
CN113516768A (zh) * | 2021-07-15 | 2021-10-19 | 国网山东省电力公司电力科学研究院 | 一种变电站可视化智慧物联管理系统 |
CN113744123B (zh) * | 2021-11-05 | 2022-01-25 | 四川见山科技有限责任公司 | 一种基于全局实例化的大规模动态对象绘制方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1612167A (zh) * | 2003-10-29 | 2005-05-04 | Snecma发动机公司 | 在虚拟环境中移动虚拟链接对象同时避免链接对象的链接元件之间的内部碰撞 |
CN1949274A (zh) * | 2006-10-27 | 2007-04-18 | 中国科学院计算技术研究所 | 一种虚拟人群运动的三维可视化方法 |
CN101739711A (zh) * | 2010-01-15 | 2010-06-16 | 上海视金石动画有限公司 | 三维动画制作中大规模群体的产生方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4383247B2 (ja) * | 2004-05-14 | 2009-12-16 | 三菱プレシジョン株式会社 | 衝突検知方法及び衝突検知装置 |
JP2005342360A (ja) * | 2004-06-07 | 2005-12-15 | Hitachi Ltd | 集団キャラクタ移動制御方法,記録媒体,シミュレーション装置及びゲーム装置 |
-
2011
- 2011-04-12 CN CN201110090775.9A patent/CN102157008B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1612167A (zh) * | 2003-10-29 | 2005-05-04 | Snecma发动机公司 | 在虚拟环境中移动虚拟链接对象同时避免链接对象的链接元件之间的内部碰撞 |
CN1949274A (zh) * | 2006-10-27 | 2007-04-18 | 中国科学院计算技术研究所 | 一种虚拟人群运动的三维可视化方法 |
CN101739711A (zh) * | 2010-01-15 | 2010-06-16 | 上海视金石动画有限公司 | 三维动画制作中大规模群体的产生方法及系统 |
Non-Patent Citations (6)
Title |
---|
JP特开2005-327125A 2005.11.24 |
JP特开2005-342360A 2005.12.15 |
大规模虚拟人实时绘制技术研究及其实现;徐文彬;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20061015(第10期);第13页最后1段、第14页第3段、第19页最后1段-第20页第1段、第4.1.1、4.2.1、4.4.4、5.1.2、5.1.2.1、5.1.2.2、5.3.1.1、5.3.1.2、5.3.2、5.3.2.1、5.3.2.1.2、5.3.2.1.3、5.3.2.2节、第五章、图5.6 * |
大规模虚拟人群运动绘制技术研究;张姮;《中国优秀硕士学位论文全文数据库信息科技辑》;20110315(第03期);第4章、第3.2.2、3.3、4.2、4.2.1、4.2.2节、图4.6 * |
张姮.大规模虚拟人群运动绘制技术研究.《中国优秀硕士学位论文全文数据库信息科技辑》.2011,(第03期),第4章、第3.2.2、3.3、4.2、4.2.1、4.2.2节、图4.6. |
徐文彬.大规模虚拟人实时绘制技术研究及其实现.《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》.2006,(第10期),第13页最后1段、第14页第3段、第19页最后1段-第20页第1段、第4.1.1、4.2.1、4.4.4、5.1.2、5.1.2.1、5.1.2.2、5.3.1.1、5.3.1.2、5.3.2、5.3.2.1、5.3.2.1.2、5.3.2.1.3、5.3.2.2节、第五章、图5.6. |
Also Published As
Publication number | Publication date |
---|---|
CN102157008A (zh) | 2011-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102157008B (zh) | 一种大规模虚拟人群实时绘制方法 | |
JP7082877B2 (ja) | 3次元ボクセル・ベース・モデリングのための方法 | |
Hou et al. | Memory-scalable GPU spatial hierarchy construction | |
CN101241603B (zh) | 一种电磁场强度实时可视化方法 | |
Benthin | Realtime ray tracing on current CPU architectures | |
CN102402791B (zh) | 一种基于gpu的三维流体模拟方法 | |
Ernst et al. | Early split clipping for bounding volume hierarchies | |
CN103617643B (zh) | 骨骼动画的渲染方法和系统 | |
KR20080018404A (ko) | 게임 제작을 위한 배경 제작 프로그램을 저장한 컴퓨터에서읽을 수 있는 기록매체 | |
US11756255B2 (en) | Method for constructing and traversing accelerating structures | |
CN103678888B (zh) | 一种基于欧拉流体模拟算法的心脏血液流动示意显示方法 | |
KR101215126B1 (ko) | 가상 세계 애플리케이션에서 비주얼 시뮬레이션 루프에 대한 총 계산 시간을 감소시키는 방법 | |
Dey et al. | Procedural feature generation for volumetric terrains using voxel grammars | |
EP4085428A2 (en) | Real-time, software-based hybrid ray tracing for battery-powered computing devices | |
CN102298796B (zh) | 大数据量cad模型实时绘制方法 | |
Lluch et al. | Multiresolution 3D rendering on mobile devices | |
Zhao | Application of Automatic Analysis of Image Data Based on KD-Tree in Ray Tracing Technology | |
Tao et al. | Animation Rendering Optimization Based on Ray Tracing and Distributed Algorithm | |
CN117078824A (zh) | 参数拟合方法、装置、设备、存储介质及程序产品 | |
CN117671110A (zh) | 基于人工智能的实时渲染系统及方法 | |
CN116564153A (zh) | 一种基于三维架构的作战仿真引擎 | |
Li et al. | Real-time rendering and animating of grass | |
CN117876568A (zh) | 一种流传输过程的自定义数据注入方法及装置 | |
CN116824021A (zh) | 一种采用双层bvh的光线追踪硬件加速器及其应用方法 | |
CN116912374A (zh) | 一种基于gpu的实时大规模群体动画渲染方法及系统 |
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 | ||
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: 20140806 Termination date: 20180412 |