论文部分内容阅读
自然场景实时交互技术是一种能表达自然场景的真实感,同时给用户极强的沉浸感的元素。自然场景的交互式实时渲染已成为目前的研究热点,尽管目前已取得了不少成果,但是早期的研究工作主要集中在草体外形的真实感表现上,而其它交互性和光影效果的模拟成果较少。直到2006年Kevin Boulanger实现了动态光照下的自然场景的实时真实感渲染,虽然真实感的实现几乎完美,但是没有涉及多少交互,而已有的交互实现还不是很完善,还有很大的研究前景。此外,很多自然景物还没有统一的建模方法,已经存在的建模方法各有其优缺点,还可以继续完善。因此,如何实现自然场景的真实感、可交互性和实时性渲染,是本文将要解决的问题。首先,本文在irrlicht图形引擎的基础上设计了一个草地渲染系统。该系统以irrlicht图形引擎为平台,主要包括草体建模模块,草体交互模块,草体阴影模块等。具体每一模块的内容后续章节再一一进行详细介绍。其次,本文实现了草地场景的LOD显示。虽然草体的几何建模方法很多,但是如果要实现对整个自然场景的几何建模,则数据量很大,重复性高。因此本文将整个草地根据离视点的距离分为三级LOD显示,其中第一级LOD作者借鉴了已有的改进的粒子系统草体建模的方法实现了近距离草体的几何建模,通过实验我们发现这种建模方法得到的草体真实感强,并且能方便地用于交互。在保证渲染质量的前提下,我们将星形布告板进一步简化作为第二级LOD的草体建模。再次,本文针对基于改进的粒子系统建模的草体,提出了一种改进的基于过程的草体碾压算法,实现了球体碾压草体的动态过程。碾压效果的实现有两种方法:基于过程的方法和基于物理的方法。前者采用经验公式来模拟交互的过程,适用于实时应用;后者则采用精确的物理公式来计算,可以模拟出逼真的效果,但计算量大。本文通过采用基于过程的方法,达到了实时性的要求,同时,考虑了草体之间的碰撞检测,实验结果表明该方法能较真实地模拟球体与草体的交互过程,是实现草体碾压效果的一种简单有效的方法。最后,本文利用一种适用于大规模虚拟环境中实时阴影生成算法,实现了草体阴影。该算法通过使用多张阴影图来代替一张代表整个场景的阴影图,既减少了系统开销,又改善了生成的阴影的质量。实验结果表明使用该算法生成的阴影能达到满意的视觉效果和生成速度。