论文部分内容阅读
阴影是三维场景中的重要因素,它不仅可以提供三维空间中物体的几何特征和位置信息,更能增强场景真实感。阴影图(Shadow Maps)方法作为一种基于图像域的阴影绘制方法,具有效率高、复杂度不依赖于场景的特点;但走样现象严重影响其应用前景,而且,大规模实时动态的阴影绘制算法中,真实感和实时性之间如何取得平衡,也是目前所面临的主要难题之一。本文从真实感和实时性两方面出发,对阴影图算法进行改进,主要研究和创新性如下:详细介绍了可编程图形硬件技术和阴影生成技术的概念及应用,并着重比较了实时阴影绘制技术中的阴影图算法、阴影体算法、平行分割阴影算法、方差阴影图算法的优劣。同时在分析相关算法的基础上,采取微软公司的DirectSDK及VS2005作为实验平台,HLSL着色语言对上述算法具体实现。针对大规模场景阴影绘制算法PSSM的缺陷,本文作出如下改进,首先在场景模型数据的生成采取LOD技术,并以Z值来组织模型数据,深度值越高的部分,采用越简单模型,离视点越近的位置,则采用全细节模型,该部分属于预处理部分,并不占用绘制时的开销。其次,考虑到视椎体分割存在首个分割空间不足分割及分层后边界区域产生的不连续,跳跃性走样的缺点,提出一种新的视锥体的分层位置确定的方法,该方法首先利用PCSS的半影公式计算半影区域,并以该区域的尺寸作为首个空间的扩大系数,然后采取一种等比数列渐进的方式获得其他分割层的扩大系数,用来确定视截体的分割点。经实验验证,新方法不仅克服了原算法首个分割空间过小的缺陷,而且由于扩大了空间的过滤区域,等效于提高每个分层的深度纹理分辨率。针对平行分割算法中边缘位置的走样问题。提出了一种基于平行分割阴影图算法和方差阴影映射的混合算法。该方法在深度图映射步骤之后,应用了传统的硬件级纹理过滤、方差阴影等过滤技术和高斯模糊技术。这样既解决大规模场景中单独阴影图无法满足精确度的要求,又将方差阴影等过滤纹理的技术运用到深度纹理中去,并改善了阴影边缘位置的走样。通过实验比较分析,可以得出结论:采用PSSM和VSM的混合算法阴影绘制效率并不明显降低,但阴影的生成效果显著提高。