论文部分内容阅读
角色动画是最近十年来计算机科学最活跃的领域之一,它广泛应用于虚拟现实、计算机辅助设计、广告媒体和数字娱乐等诸多领域。随着计算机硬件技术的发展,特别是消费级别的带有硬件加速功能的显卡技术的发展,实时角色动画逐渐获得了越来越广泛的应用。实时角色动画具有巨大的经济前景和理论研究意义。本文对可编程图形硬件和实时角色动画做了深入研究,给出了现在使用最为广泛的实时角色动画――骨骼蒙皮动画在可编程图形硬件上的设计实现。实时角色动画分为三种:关节动画、单一网格模型动画和骨骼蒙皮动画,本文对这三种动画技术做了深入研究。骨骼蒙皮动画可被看作关节动画和单一网格模型动画的结合,它不但具有前两种动画的优点,同时克服了前两种动画的缺点。但是骨骼蒙皮动画使用的顶点混合技术需要大量的矩阵运算,以前这是由CPU来实现的,这给CPU造成了极大的负担,降低了动画的实时性。现在可编程硬件图形硬件的发展为解决这一问题提供了可能。本文对可编程图形硬件及其编程语言和编程方法做了详细介绍。目前图形硬件中的图形处理器(GPU)计算能力的增长速度己经超过了CPU计算能力的增长速度,图形硬件技术一个重大突破就是在图形硬件中引入了可编程功能,该功能允许开发人员编制自己的着色器程序(Shader program)来替换原来固定流水线中的某些功能模块,以实现更为灵活的功能。虽然GPU具有非常高的计算速度,但并不能将以前在CPU中实现的算法直接放到GPU中来执行,这是因为GPU的指令执行方式和CPU不一样,GPU的体系结构是一种高度并行的单指令多数据(SIMD)指令执行体系,所以要在可编程图形硬件上实现在CPU中效率不高的算法,就需要重新制定算法实现的数据结构和步骤,以充分利用GPU并行处理体系结构带来的性能优势。本文首先给出了基于CPU的骨骼蒙皮动画的设计实现,对其中可放到GPU中算法进行了分析,给出了基于GPU的骨骼蒙皮动画的设计实现,实现的测试结果表明基于GPU的骨骼蒙皮动画比基于CPU的骨骼蒙皮动画帧率要高出很多,极大提高了骨骼蒙皮动画的实时性。本文还给出了动画混合技术的实现,这是通过对骨骼的本地变换进行按比例混合来实现的,这一实现不仅增加了动画动作,还提高了动画质量。