当前位置:问答库>论文摘要

题目:基于GPU的阴影算法研究与实现

关键词:软阴影;像素级高质量;交互式绘制

  摘要

在现实世界中,阴影无处不在。在真实感图像生成中阴影生成是计算机图形学研究中的一个基本问题与关键技术,对于图像的真实感以及营造出的沉浸感都至关重要。随着图形硬件的发展,特别是近几年出现了可编程的GPU,阴影的生成算法在很大程度上也发生了改变。本文主要针对基于GPU可编程硬件的若干阴影算法的研究进行展开,提出并实现了一种像素级高质量软阴影的生成算法及其加速结构,并对其进行了细致地研究与实验分析。该方法具有精确、高效、通用三个特点:(1)本文方法的绘制结果是精确的。本文基于经典的扫描线填充算法,在GPU上实现了一个轻量级的软光栅器,可以精确地对每个像素点到每个面光源采样点之间计算可见性。所渲染出来的结果与使用了相同面光源采样分辨率的光线跟踪算法所得到的结果几乎一致。(2)本文方法是较为高效的。首先,对于遮挡三角面片集的计算不是基于每个像素采样点的而是基于像素采样点组的,利用了相邻像素之间的一致性。其次,进行了规则网格的划分,使得投影出来的三角面片的阴影体可以在该网格空间中被一个简单的坐标轴对齐的包围盒(AABB)所近似。这将有利于快速排除那些对于像素采样点来说不必要的三角面片,而不需要使用昂贵的凸包计算。最后,可编程图形硬件的高速发展带来了编程的灵活性,使本文的方法可以被有效的实现。在实践中,CUDA并行编程环境中提供的原子操作及存储模型可以实现高效的排序,以及为网格中的格子快速地建立其所关联的一系列像素采样点与三角面片。这种方法可以避免构建非均匀分布的遮挡三角面片及像素采样点的层次数据结构所需的开销。本文的方法可以在渲染复杂场景的软阴影时达到可交互的帧率。在实验中,我们的方法的性能远高于Optix。在动态场景的中,此性能差距将更大。(3)本文方法适用了任何使用三角面片建模的场景,不需要对场景中的阴影遮挡体与阴影接受体进行划分;对场景中的几何形体无限制,不要求阴影接收体是平面,也不要求阴影遮挡体在空间上具体较强的几何连续性。此外,本方法全面支持动态场景,包括变形物体及动态变化大小、位置、朝向的面光源。随着光源尺寸的减小,本方法也适用于像素精确的硬阴影绘制且无经典阴影图算法中的分辨率问题。