论文部分内容阅读
近年来,群体动画在多个领域中得到了广泛的应用,比如城市规划、电影动漫、游戏创作、训练系统以及火灾等灾难现场模拟与辅助指挥中。但是,从目前的研究情况来看,群体动画渲染方面存在两个比较突出的问题:一是采用的角色群体太过单一,大都是由一个或几个角色模板变换而来,大量相似的角色并没有一个人群的感觉,缺乏真实感。另一个问题是要实现数量庞大的群体动画的实时渲染,以当前的计算机硬件绘制能力来说,采用直接绘制的方法很难达到实时性要求。因此,人们更加重视角色建模技术的研究和群体动画实时渲染技术的研究,使得这一领域成为极富挑战性的研究课题。本文首先研究了多样化角色建模技术,在大规模群体渲染技术的研究中,大量的人群仅仅是几个角色模板的简单重复,给人一种单调乏味的感觉。针对这一问题,本文研究了创造大量高真实感虚拟群体的方法,该方法能够由一个角色模板产生数量众多但互不相同的虚拟角色。通过对现实生活中的真实人体型进行建模,产生体态各异的真实群体体型。然后对单个角色模板进行不同身体部分的纹理颜色混合,实现了大量各具特色的人群的效果。为了能以交互性的帧率实现大规模群体的实时渲染,必须要研究大规模群体的实时加速技术。随着DirectX10新一代的渲染管线引入了流出(stream out)操作,本文提出了一种基于GPU流出操作的角色裁剪算法,在GPU中对大规模群体依次进行视锥体裁剪,闭塞裁剪以及LOD划分,减少了GPU到CPU信息传递的处理时间,提高了渲染效率。同时,为了保证近视点角色的高真实感要求,本文提出对粗糙的原始角色模型应用镶嵌技术进行实时动态细分,在使用了最小量的三角形面片的前提下满足了真实感需求。为了能对经过裁剪与LOD划分后的大规模群体实施快速的渲染,本文针对群体LOD等级的不同,提出使用多层次实例化技术对不同等级的角色采用不同的实例化渲染方法。对低LOD等级的角色使用实例化技术进行批渲染;对中间LOD等级的角色使用蒙皮实例化技术进行动画渲染,对高LOD等级的角色,使用蒙皮实例化与细分镶嵌技术相结合的方法进行动态实时细分渲染。通过使用层次实例化技术,进一步减少了绘制调用与模型切换次数,同时也减少了内存需求,提高了大规模群体渲染的实时帧率。实验结果表明,相对于传统的单个角色分别渲染,本文提出的加速方法以及渲染方法将平均帧率提高了4倍以上。