论文摘要
三维场景编辑是虚拟现实、计算机动画、计算机图形学中的一个重要研究内容,也是现今该领域内的研究热点和难点。它在3D游戏、电影特效制作和多媒体创作等领域中有着广阔的应用前景。三维场景编辑主要包括场景的构建和快速渲染两部分。场景构建包括三维虚拟场景的显示、生成、编辑、存储、管理,旨在为系统提供高阶层面上的场景编辑功能。渲染是指对构建之后的场景进行真实感的绘制,尤其是对交互式的实时操作进行快速的响应。由于复杂场景的数据量大、实时性强,所以渲染运算速度慢成为现有的三维场景编辑的瓶颈。通过扩展场景图的结构,在建模的时候就对场景的表示模型进行预处理;同时在渲染的时候采取有效的策略,并利用图形处理器(GPU)在解决数据并行计算问题所表现出的极高的运行速度,可以有效地提升渲染的速度。本文对三维场景编辑中的快速建模、基于可见性剔除的高效渲染、场景合成和预览时的碰撞检测技术进行了研究,具体方法如下:(1)利用BSP树重新组织场景图,将场景图的叶子节点由简单几何体分解成三角面片,并将所有的面片串线存储在一个集合中。这步预处理操作虽然引入了更多的面片,使得场景图的结构更加复杂,但确为下面的隐藏面消除操作带来了极大的便利。在生成BSP树时结合使用了随机算法,能够在一个较好的期望时间内快速的建立场景的BSP树表示。(2)实现了基于遮挡体替代的由近及远的绘制算法。该算法预先定义遮挡替代物,对于基于BSP树的场景进行由近到远的绘制,不断的生成遮挡树,并借此对遮挡区域内的物体进行遮挡剔除。在此基础之上,提出并实现一种增量方法,适用于动态场景的快速绘制。(3)在三维场景的编辑过程中,用户要实时地对三维场景进行调整和浏览。尤其是在后期制作过程中进行场景合并,或根据关键帧进行插值并生成动画时,必须沿物体的可能的运动路径进行碰撞检测。本文提出了两种碰撞检测方案,一是基于BSP树的基本碰撞检测:二是基于BSP树优化分割的碰撞检测。本文的主要不足之处:在三维场景编辑中,用户对于模型的操作是通过对变换节点进行矩阵操作实现的,这对于用户提出了更高的要求,所以有必要设计一种良好的交互操作方式,使得用户可以更加方便、简单的使用场景编辑软件。另外,场景编辑还应该包括显式的动画插值解决方案,这都有待于将来进行改进和完善。