CN100405404C - 一种虚拟人实时绘制方法 - Google Patents

一种虚拟人实时绘制方法 Download PDF

Info

Publication number
CN100405404C
CN100405404C CNB2006100890579A CN200610089057A CN100405404C CN 100405404 C CN100405404 C CN 100405404C CN B2006100890579 A CNB2006100890579 A CN B2006100890579A CN 200610089057 A CN200610089057 A CN 200610089057A CN 100405404 C CN100405404 C CN 100405404C
Authority
CN
China
Prior art keywords
pel
sampled point
buffer zone
octree
visual human
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
Application number
CNB2006100890579A
Other languages
English (en)
Other versions
CN1904944A (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.)
XIAOSHAN INDUSTRY RESEARCH INSTITUTE
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CNB2006100890579A priority Critical patent/CN100405404C/zh
Publication of CN1904944A publication Critical patent/CN1904944A/zh
Application granted granted Critical
Publication of CN100405404C publication Critical patent/CN100405404C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种虚拟人实时绘制方法,包括:1)在预处理阶段,采用点采样技术,对虚拟人的初始网格模型进行预处理,生成由多边形和采样点混合表示的多分辨率模型;2)在实时绘制阶段,根据每个虚拟人个体在屏幕上的投影大小,对多分辨率模型进行遍历计算,生成由多边形和采样点混合组成的有效绘制图元;对有效绘制图元进行缓冲管理,在适当的时候提交图形设备进行绘制。本发明的优点:通过对预处理、多分辨率模型遍历等过程进行优化,增加绘制图元的缓冲管理,在相同硬件条件下提高系统可实时负载的虚拟人规模;有较好的通用性,可应用于游戏、影视制作、或其他需要模拟大规模虚拟人的虚拟现实应用系统中。

Description

一种虚拟人实时绘制方法
技术领域
本发明涉及计算机图形学领域,特别涉及一种虚拟人的实时绘制方法。
背景技术
大规模(万人级)虚拟人的实时绘制技术,能够用来模拟大型体育场馆或地铁站的人群流动,对这些场所的疏散预案进行三维可视化预演;还能够用来生成成千上万的虚拟观众或者军队,从而降低影视制作的成本、提高游戏场景的视觉逼真性。因此,在安全预演、影视制作、游戏娱乐等虚拟现实相关领域具有广泛的应用前景。
在计算机生成空间中逼真地绘制大规模(万人级)虚拟人,由于其需要占用大量的内存、CPU和GPU资源,即使采用目前先进的点采样技术,绘制速度仍很难达到实时要求。为满足实时应用的需要,现有的解决方案采取折衷的策略,通过降低生成的图像质量或者牺牲虚拟人个体的运动独立性来达到实时绘制的目的。关于现有大规模虚拟人的点绘制方法可参考文献1:“M.Wand.Point-BasedMulti-Resolution Rendering.PhD thesis,University of Tübingen,Department ofComputer Science and Cognitive Science,2004.”
因此,研究大规模虚拟人实时绘制技术,在虚拟场景中实时绘制逼真的、个体可独立运动的、万人级大规模虚拟人,不仅有重大的理论意义,也具有广泛的应用领域以及重要的实用价值。
发明内容
本发明的目的是克服现有实时绘制方法需要通过降低图像质量或者牺牲虚拟人个体的运动独立性来达到实时绘制的缺陷,从而提供一种可在虚拟场景中实时绘制逼真的、个体具有独立性的、万人级大规模虚拟人绘制方法。
为了实现上述目的,本发明提供了一种虚拟人实时绘制方法,可用于大规模虚拟人的绘制,包含预处理和实时绘制两部分,其中,所述的预处理部分包含以下步骤:
步骤101)、确定虚拟人的所有可能姿态;
步骤102)、从虚拟人的可能姿态中选择一个,确定该虚拟人姿态模型的紧密八叉树包围盒;
步骤103)、对步骤102)中获得的紧密八叉树包围盒进行放大和平移;
步骤104)、利用点采样技术对步骤103)中放大、平移后的包围盒中的虚拟人姿态模型进行采样,生成由多边形和采样点混合表示的多分辨率模型,并将数据存储于以八叉树表示的数据结构中,得到八叉树结点;
步骤105)、对采样后生成的八叉树结点进行重组;
步骤106)、判断是否还有其他姿态没有处理,如没有,则执行下一步,否则选择一个没有处理过的虚拟人姿态,重新执行步骤102);
步骤107)、所有可能姿态处理完毕,结束对于虚拟人模型的预处理;
所述的实时绘制部分包含以下步骤:
步骤201)、在实时绘制大规模虚拟人前,在内存中建立多边形图元缓冲区和采样点图元缓冲区;
步骤202)、在所要绘制的场景中,选定一个虚拟人,确定虚拟人的当前运动姿态;
步骤203)、根据当前虚拟人的姿态,后序遍历步骤104)得到的八叉树多分辨率模型,求得有效绘制多边形图元和有效绘制采样点图元;对多边形图元执行下一步,对采样点图元执行步骤208);
步骤204)、将有效绘制多边形图元放入多边形图元缓冲区;
步骤205)、判断多边形图元缓冲区是否已满,如满,则执行下一步,否则,转入步骤213);
步骤206)、提交多边形图元到显卡进行绘制,并清空多边形图元缓冲区;
步骤207)、将剩余的有效绘制多边形图元放入多边形图元缓冲区内,执行步骤213);
步骤208)、将有效绘制采样点图元放入采样点图元缓冲区;
步骤209)、判断采样点图元缓冲区是否已满,如满,执行下一步,否则,执行步骤213);
步骤210)、清空采样点图元缓冲区;
步骤211)、提交采样点图元到显卡进行绘制,并清空采样点图元缓冲区;
步骤212)、将剩余的有效绘制采样点图元放入采样点图元缓冲区内;
步骤213):判断在所要绘制的场景中,是否还需要绘制其他虚拟人,如是,则跳转到步骤202),否则执行下一步;
步骤214):所有虚拟人个体绘制完毕。
上述技术方案中,在所述的步骤103)中,对所述的紧密八叉树包围盒进行放大时,放大的倍数根据实际应用中屏幕的分辨率,以及最粗糙模型在屏幕上的投影高度决定。
上述技术方案中,在所述的步骤105)中,所述的对八叉树结点进行重组是将每个结点压缩成32个字节的整数倍大小,然后将同一棵子树的所有结点按先序遍历的方式连续存储。
上述技术方案中,在所述的步骤203)中,所述的有效绘制多边形图元和有效绘制采样点图元是指:对当前视角下的三维虚拟人模型,通过对八叉树多分辨率模型进行遍历,得到的当前情况下能够代替表示原模型的最少图元。
本发明的优点在于:
1、在采样前,通过对紧密八叉树包围盒进行放大和平移,降低最粗糙模型(即八叉树根结点)的图元数目,从而有效的提高了系统可负载的虚拟人规模。
2、在采样后,对八叉树结点进行重组,减少实时绘制时,八叉树的遍历开销,一定程度上降低CPU开销。
3、在实时绘制过程中,对有效绘制图元进行缓冲管理,降低由于频繁地调用、切换绘制命令而带来的CPU、GPU和相应的传输开销。
附图说明
图1为对虚拟人的初始网格模型进行预处理的流程图;
图2为模型当前姿态下紧密八叉树包围盒的示意图;
图3为将紧密包围盒进行放大和平移后生成的最终包围盒的示意图;
图4为八叉树结点重组的示意图;
图5为实时绘制大规模虚拟人的流程图。
具体实施方式
下面结合附图和具体实施方式对本发明的虚拟人实时绘制方法作进一步的说明。
本发明的虚拟人实时绘制方法包括预处理和实时绘制两大部分,其中,所述的预处理部分包含以下步骤:
步骤101、确定虚拟人的所有可能姿态。所述的虚拟人的可能姿态包括站立、行走、卧躺等姿态。虚拟人姿态的确定与虚拟人所在的环境密切相关,在本实施例中,以站立姿态为例进行说明。
步骤102、选定一个姿态,确定虚拟人姿态模型的紧密八叉树包围盒。在本操作步骤中,利用虚拟人的姿态确定模型的紧密八叉树包围盒是一种成熟的现有技术,本领域的普通技术人员无需创造性劳动即可实现。图2就是虚拟人一个站立姿态下紧密八叉树包围盒的示意图。
步骤103、对紧密八叉树包围盒进行放大和平移。在对紧密八叉树包围盒进行放大时,放大的倍数可以根据实际应用中屏幕的分辨率,以及最粗糙模型在屏幕上的投影高度决定,一般情况下,可以对包围盒的边长放大两倍。此外,为节约步骤203中的后序遍历的开销,包围盒放大后还要进行合适平移,以减少采样后生成的结点个数。图3为图2中的紧密八叉树包围盒进行一种典型的放大、平移后的示意图。
步骤104、根据放大平移后的包围盒,再按照参考文献1中所描述的传统点采样技术,对姿态模型进行采样,生成由多边形和采样点混合表示的多分辨率模型,并将数据存储于以八叉树表示的数据结构中。
步骤105、对采样后生成的八叉树结点进行重组。对八叉树结点进行重组的具体实现方法是首先将每个结点压缩成32个字节的整数倍大小,然后将同一棵子树的所有结点按先序遍历的方式连续存储。如图4所示,为一棵八叉树结点重组的示意图。在该图中,(1)为八叉树中的结点在未重组前的存储顺序,在未重组前,结点按照创建的顺序存储,由于堆的复杂性,存储顺序基本是乱序的。这种存储方式不利于对数据的预取,更主要的是不利于对采样数据的存储管理,从而最终严重影响系统的效率。(2)为八叉树中的结点在重组后的存储顺序,重组后的结点按照八叉树中深度优先遍历的顺序存储。采用这种存储方式使得后续的实时绘制中,作为遍历结果的有效图元可以以更加贴近底层硬件的方式提交,从而降低CPU开销、降低数据传输,提高驱动效率。
步骤106、判断是否还有其他姿态没有处理,如没有,则执行下一步,否则选择一个没有处理过的姿态,执行步骤102;
步骤107、所有可能姿态处理完毕,结束对于虚拟人模型的预处理。
所述的实时绘制部分包含以下步骤:
步骤201、在实时绘制大规模虚拟人前,在内存中建立多边形图元缓冲区和采样点图元缓冲区;
步骤202、在所要绘制的场景中,选定一个虚拟人,确定虚拟人的当前运动姿态;在选择虚拟人时,应使得所要绘制场景中的每个虚拟人都被选中一次。
步骤203、根据当前虚拟人的姿态,后序遍历步骤104得到的八叉树多分辨率模型,求得有效绘制多边形图元和有效绘制采样点图元;对多边形图元执行下一步,对采样点图元执行步骤208。
其中,所述的有效图元是指:对当前视角下的三维虚拟人模型,通过对八叉树多分辨率模型进行遍历,得到的那些图元,它们是当前情况下能够代替表示原模型的最少图元,关于有效绘制多边形图元和有效绘制采样点图元的求取是成熟的现有技术,在参考文献1中有详细的描述。在附图4中,含阴影部分的结点就是有效图元,不含阴影的图元则为无效图元。
步骤204、将有效绘制多边形图元放入多边形图元缓冲区;
步骤205、判断多边形图元缓冲区是否已满,如满,则执行下一步,否则,转入步骤213;
步骤206、提交多边形图元到显卡进行绘制,并清空多边形图元缓冲区;
步骤207、将剩余的有效绘制多边形图元放入多边形图元缓冲区内,执行步骤213;
步骤208、将有效绘制采样点图元放入采样点图元缓冲区;
步骤209、判断采样点图元缓冲区是否已满,如满,执行下一步,否则,执行步骤213;
步骤210、清空采样点图元缓冲区;
步骤211、提交采样点图元到显卡进行绘制,并清空采样点图元缓冲区;
步骤212、将剩余的有效绘制采样点图元放入采样点图元缓冲区内;
步骤213:判断在所要绘制的场景中,是否还需要绘制其他虚拟人,如是,则跳转到步骤202,否则执行下一步;
步骤214:所有虚拟人个体绘制完毕。

Claims (4)

1.一种虚拟人实时绘制方法,包含预处理和实时绘制两部分,其中,所述的预处理部分包含以下步骤:
步骤101)、确定虚拟人的所有可能姿态;
步骤102)、从步骤101)虚拟人的可能姿态中选择一个,确定该虚拟人姿态模型的紧密八叉树包围盒;
步骤103)、对步骤102)中获得的紧密八叉树包围盒进行放大和平移;
步骤104)、利用点采样技术对步骤103)中放大和平移后的包围盒中的虚拟人姿态模型进行采样,生成由多边形和采样点混合表示的多分辨率模型,并将数据存储于以八叉树表示的数据结构中,得到八叉树结点;
步骤105)、对采样后生成的八叉树结点进行重组;
步骤106)、判断是否还有其他姿态没有处理,如没有,则执行下一步,否则选择一个没有处理过的虚拟人姿态,重新执行步骤102);
步骤107)、所有可能姿态处理完毕,结束对于虚拟人模型的预处理进行实时绘制;
所述的实时绘制部分包含以下步骤:
步骤201)、在实时绘制虚拟人前,在内存中建立多边形图元缓冲区和采样点图元缓冲区;
步骤202)、在所要绘制的场景中,选定一个虚拟人,确定虚拟人的当前运动姿态;
步骤203)、根据当前虚拟人的姿态,后序遍历步骤104)得到的八叉树多分辨率模型,求得有效绘制多边形图元和有效绘制采样点图元;对多边形图元执行下一步,对采样点图元执行步骤208);
步骤204)、将有效绘制多边形图元放入多边形图元缓冲区;
步骤205)、判断多边形图元缓冲区是否已满,如满,则执行下一步,否则,转入步骤213);
步骤206)、提交多边形图元到显卡进行绘制,并清空多边形图元缓冲区;
步骤207)、将剩余的有效绘制多边形图元放入多边形图元缓冲区内,执行步骤213);
步骤208)、将有效绘制采样点图元放入采样点图元缓冲区;
步骤209)、判断采样点图元缓冲区是否已满,如满,执行下一步,否则,执行步骤213);
步骤210)、清空采样点图元缓冲区;
步骤211)、提交采样点图元到显卡进行绘制,并清空采样点图元缓冲区;
步骤212)、将剩余的有效绘制采样点图元放入采样点图元缓冲区内;
步骤213):判断在所要绘制的场景中,是否还需要绘制其他虚拟人,如是,则跳转到步骤202),否则执行下一步;
步骤214):所有虚拟人个体绘制完毕。
2.根据权利要求1所述的虚拟人实时绘制方法,其特征在于,在所述的步骤103)中,对所述的紧密八叉树包围盒进行放大时,放大的倍数根据实际应用中屏幕的分辨率,以及最粗糙模型在屏幕上的投影高度决定。
3.根据权利要求1所述的虚拟人实时绘制方法,其特征在于,在所述的步骤105)中,所述的对八叉树结点进行重组是将每个结点压缩成32个字节的整数倍大小,然后将同一棵子树的所有结点按先序遍历的方式连续存储。
4.根据权利要求1所述的虚拟人实时绘制方法,其特征在于,在所述的步骤203)中,所述的有效绘制多边形图元和有效绘制采样点图元是指:对当前视角下的虚拟人模型,通过对八叉树多分辨率模型进行遍历,得到的当前情况下能够代替表示原模型的最少图元。
CNB2006100890579A 2006-08-01 2006-08-01 一种虚拟人实时绘制方法 Expired - Fee Related CN100405404C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100890579A CN100405404C (zh) 2006-08-01 2006-08-01 一种虚拟人实时绘制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100890579A CN100405404C (zh) 2006-08-01 2006-08-01 一种虚拟人实时绘制方法

Publications (2)

Publication Number Publication Date
CN1904944A CN1904944A (zh) 2007-01-31
CN100405404C true CN100405404C (zh) 2008-07-23

Family

ID=37674202

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100890579A Expired - Fee Related CN100405404C (zh) 2006-08-01 2006-08-01 一种虚拟人实时绘制方法

Country Status (1)

Country Link
CN (1) CN100405404C (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9773343B2 (en) 2010-12-24 2017-09-26 Institute Of Automation, Chinese Academy Of Sciences Method for real-time and realistic rendering of complex scenes on internet
CN104599326B (zh) * 2014-12-11 2017-09-01 北京航空航天大学 一种人体心脏的实时逼真绘制方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6313864B1 (en) * 1997-03-24 2001-11-06 Olympus Optical Co., Ltd. Image and voice communication system and videophone transfer method
CN1389817A (zh) * 2002-07-16 2003-01-08 雷永昌 一种网络虚拟人像的建构方法
JP2004289254A (ja) * 2003-03-19 2004-10-14 Matsushita Electric Ind Co Ltd テレビ電話端末
CN1632834A (zh) * 2003-12-22 2005-06-29 中国科学院自动化研究所 基于点重建的超大规模医学影像三维可视化方法
CN1710612A (zh) * 2005-07-08 2005-12-21 北京航空航天大学 基于备选关节点集合的皮肤顶点影响权值分配方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6313864B1 (en) * 1997-03-24 2001-11-06 Olympus Optical Co., Ltd. Image and voice communication system and videophone transfer method
CN1389817A (zh) * 2002-07-16 2003-01-08 雷永昌 一种网络虚拟人像的建构方法
JP2004289254A (ja) * 2003-03-19 2004-10-14 Matsushita Electric Ind Co Ltd テレビ電話端末
CN1632834A (zh) * 2003-12-22 2005-06-29 中国科学院自动化研究所 基于点重建的超大规模医学影像三维可视化方法
CN1710612A (zh) * 2005-07-08 2005-12-21 北京航空航天大学 基于备选关节点集合的皮肤顶点影响权值分配方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
个性化三维人体模型快速建模方法. 毛天露等.计算机辅助设计与图形学学报,第17卷第10期. 2005 *

Also Published As

Publication number Publication date
CN1904944A (zh) 2007-01-31

Similar Documents

Publication Publication Date Title
CN108010112B (zh) 动画处理方法、装置及存储介质
CN109145366A (zh) 基于Web3D的建筑信息模型轻量级可视化方法
US8134556B2 (en) Method and apparatus for real-time 3D viewer with ray trace on demand
CN109389661B (zh) 一种动画文件转化方法及装置
CN110309458B (zh) 基于WebGL的BIM模型显示及渲染方法
CN103329526B (zh) 运动图像分配服务器和控制方法
US6307558B1 (en) Method of hierarchical static scene simplification
US20090153556A1 (en) Ray tracing device based on a pixel processing element and method thereof
US20100091018A1 (en) Rendering Detailed Animated Three Dimensional Characters with Coarse Mesh Instancing and Determining Tesselation Levels for Varying Character Crowd Density
CN104169974A (zh) 图形处理单元中基于可见性的状态更新
CN103093499A (zh) 一种适用于网络传输的城市三维模型数据组织方法
CN101119485A (zh) 一种基于特征保留的三维模型递进传输方法
CN112055216B (zh) 一种基于Unity的倾斜摄影海量快速加载方法及装置
CN104537697A (zh) 一种渐进模糊动画的实现方法
EP2996086A1 (en) System, method and computer program product for automatic optimization of 3d textured models for network transfer and real-time rendering
CN110930492B (zh) 模型渲染的方法、装置、计算机可读介质及电子设备
US8390623B1 (en) Proxy based approach for generation of level of detail
CN100405404C (zh) 一种虚拟人实时绘制方法
Chen et al. An improved texture-related vertex clustering algorithm for model simplification
CN112221151B (zh) 一种地图生成方法、装置、计算机设备及存储介质
US8275805B2 (en) Method of decreasing a total computation time for a visual simulation loop in a virtual world application
CN103678888A (zh) 一种基于欧拉流体模拟算法的心脏血液流动示意显示方法
El-Sana et al. Efficiently computing and updating triangle strips for real-time rendering
CN111275806A (zh) 一种基于点的并行化实时渲染系统及方法
Belmonte et al. Efficiently using connectivity information between triangles in a mesh for real-time rendering

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
ASS Succession or assignment of patent right

Owner name: XIAOSHAN INDUSTRY INSTITUTE

Free format text: FORMER OWNER: INSTITUTE OF COMPUTING TECHNOLOGY, CHINESE ACADEMY OF SCIENCES

Effective date: 20130407

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100080 HAIDIAN, BEIJING TO: 311215 HANGZHOU, ZHEJIANG PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20130407

Address after: 311215, Hangzhou, Zhejiang province Xiaoshan District, Ning Town, civilization Road, No. 328, Jiangning building, east block, 7 floor

Patentee after: XIAOSHAN INDUSTRY RESEARCH INSTITUTE

Address before: 100080 Haidian District, Zhongguancun Academy of Sciences, South Road, No. 6, No.

Patentee before: Institute of Computing Technology, Chinese Academy of Sciences

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

Granted publication date: 20080723

Termination date: 20160801

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