论文部分内容阅读
动态全局照明技术(dynamic global illumination)是图形学以及游戏行业中的一个重要研究领域。在电影或者游戏的三维场景中采用全局照明来模拟现实世界中的直接光照和间接光照,从而提高画面的渲染质量。但是精确的全局照明技术往往需要模拟大量的光线传播,相当耗费资源,一般适合于离线渲染。动态全局照明是实现渲染质量与渲染效率相互平衡,并且能够在实时帧率下近似模拟全局光照的一种重要的实时渲染技术。对于实时应用领域有着重要的研究价值。从实时性的角度,动态全局光照技术主要分为两种:纯实时全局光照渲染技术。例如voxel cone tracing全局照明算法。和预处理与实时渲染相结合的全局光照渲染技术。例如image based lighting全局照明算法和light probe based全局照明算法。本课题设计并搭建了一个基于OpenGL的动态全局光照的三维渲染引擎:Black Pearl渲染引擎。在Black Pearl渲染引擎上设计和实现了三种动态全局光照算法,分别是:体素锥追踪照明(voxel cone tracing GI)、基于图像的照明(image based lighting GI)和基于光照探针的照明(light probe based GI)。并且针对三种算法各自的特点进行了时间和空间存储效率的优化。经过实验验证,本课题所设计与优化的两种动态全局照明算法与传统的动态全局照明算法相比,有效的提高了算法的实时性以及减少了内存和显存等资源消耗。最后,本课题基于Black Pearl渲染引擎对本课题所设计的三种算法在渲染效率、渲染质量、存储空间以及适用场景等方面进行了详细的对比分析。