论文部分内容阅读
在数字媒体技术领域,3D游戏引擎是一种重要的游戏开发手段。引擎中的渲染技术已经成为国内外研究的热点,也是受关注程度最高的关键技术之一。近几年3D游戏引擎在Android平台上有一些应用,但缺乏成熟的商用产品,并且游戏场景的实时渲染速度和画面逼真度还达不到很好的平衡。因此,研究游戏引擎内部结构,解决游戏场景渲染效率低的问题显得很有必要。
本文在总结3D游戏引擎渲染关键技术的国内外研究现状基础上,分析了该技术领域存在的主要问题。针对Android手机平台的资源局限性和传统八叉树场景管理存在的不足,对动态八叉树空间划分技术进行了重点研究。
第一,针对传统八叉树不存在面向对象方法,采用动态八叉树管理场景。充分地利用形体在3D空间上的连续性与相关性,根据事先建立的评价系统,对3D场景空间进行有序的划分。划分后的场景以文件的形式保存,场景里的模型存放在动态八叉树的叶节点中,此时的模型不再是分散的三角面,而是带有AABB层次包围盒的对象。通过定义指针数组来记录节点及其父、子节点的位置,同时在每个节点内部建立一个辅助数组来记录指针指向的内容。
第二,针对复杂场景中大量动态几何体发生移动后相应树形结构重建速度太慢,多节点标记方法渲染下模型逼真度不够,提出了一种扩展动态八叉树节点松散包围盒的方法。首先,利用动态八叉树节点内的物体指针链表判定几何体与节点的实时位置关系。其次,将移动物体经过的邻域节点适当扩大并重叠,改进动态八叉树节点的松散包围盒方法。最后,通过比较物体半径与划分节点的边长确定物体所属节点。实验结果表明所提方法模型渲染更加逼真,提高了八叉树树形结构的重建速度和绘制效率。
第三,通过使用JPCT-AE游戏引擎搭建框架的基础上,利用动态八叉树进行场景管理,使用OpenGL图形渲染接口实现一款基于Android平台的3D游戏场景。