欢迎来到天天文库
浏览记录
ID:56457777
大小:297.00 KB
页数:24页
时间:2020-06-18
《三维 计算机图形学.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于图像空间的动态软阴影算法研究目录一、研究背景及意义二、国内外研究进程及现状概述三、研究目标及内容四、研究难点及潜在创新点研究背景及意义一、阴影对于三维图形真实感的重要性二、阴影图像渲染面临的三大挑战:高度真实感、实时性及两者间的矛盾三、商业游戏引擎和建筑视景仿真软件都提供了动态阴影的支持并不断改进国内外研究进程及现状概述一、国外阴影研究(1)图像空间LanceWilliams1978年提出ShadowMap硬阴影Soler提出convolutionshadowmap近似软阴影进一步VSMLVSMPSMPSSM(2)其他Sha
2、dowVolume光线追踪辐射度国内外研究进程及现状概述二、国内阴影研究清华大学:基于shadowvolume的阴影翼算法浙江大学、香港中文大学siggraph上发文研究目标及研究内容一、研究目标根据光照衰减函数及深度缓存中的深度值来建立一个能映射到阴影颜色深度表的模型公式,根据映射后的深度值,使用Brich算法对海量深度值进行快速智能分类,实现阴影的层次渐变效果,即软阴影。研究目标及研究内容二、研究内容本文的主要研究内容涉及:图像渲染、阴影映射技术、阴影体技术、基于图像空间的软阴影算法、Birch算法对海量数值型数据的快速智能
3、分类研究目标及研究内容研究内容中的重点:实时阴影映射技术和基于图像空间的软阴影算法是研究重点。因此,对阴影映射进行较为细致的阐述。另外,对几种基于图像空间映射算法的优点和局限性进行了比较,提出基于图像空间的阴影颜色深度值快速智能聚类算法。研究目标及研究内容阴影映射技术(shadowmap):LanceWilliams:CASTINGCURVEDSHADOWSONCURVEDSURFACES核心思想(两次渲染比较):SM进行两遍pass渲染,第一遍pass站在灯光(light)的角度对场景进行渲染,此时打开z-buffer,并RT
4、T到自己创建的一张纹理中,此时纹理中的像素代表的是,以light的角度看过去,相应位置距离light最近的深度,注意这里你要辩证地看,这也同时表示从light中射出的光最远只能打到这个位置了(再往后的就被这个像素遮挡了)。而这张纹理图就是shadowmap;研究目标及研究内容第二遍pass站在视点角度再次对场景渲染,并在光栅化阶段时,对每一个要处理的像素,坐标变换到light坐标系中,并与对应的shadowmap中的像素比大小:如果currentpixel>shadowmappixel,说明该像素被挡住了,因此判断这个像素处于阴
5、影中,应该将此像素涂黑;否则,表示它处于光照中,接下来计算它的光照值。对所有的像素进行如此操作,就完成了阴影的绘制。几种基于图像空间映射算法的比较PCF(百分比渐进线性滤波)优点:通过滤波就能产生过渡颜色,同时也起到模糊锯齿的作用。缺点:它的“半影”是通过模糊边缘来模拟,不是真正计算出来的,这样无论灯光离物体有多远、光源面积有多大,它产生的半影范围永远都是固定的。滤波时需要对相邻像素采样,采样本身又是一个费时费力的过程。因此采样的区域越大,效率越低。几种基于图像空间映射算法的比较VSM(方差阴影图):优点:VSM的实际效果好于等
6、于进行了PCF的SM。相比单纯的SM,它实现了软边缘以及消除了锯齿;相比PCF,它的效率大大提升。缺点:光渗现象(lightbleeding),多重遮挡时本应该为阴影的地方却出现了光带。几种基于图像空间映射算法的比较PSSM算法:优点:PSSM算法不需要每帧对场景进行分析便可在整个深度范围产生适度的采样密度缺点:需要进行多个视锥体分割,使用几何近似对深度有影响基于前述算法的思考前述算法对原始的shadowmap算法都有不同程度的改进,从某种程度上解决了反走样和软阴影的显示问题。但是对像素的过度处理会造成效率的明显下降,另外前述大
7、部分算法的阴影模糊处理是一种信息的伪处理,而真实的阴影效果跟诸多场景因素有关,如何把影响阴影效果的场景参数抽象出来,构建出场景参数与阴影颜色深度的映射模型,然后对映射后的值进行快速分类和显示,以实现场景中真实的动态阴影的渐变效果是本研究的关键所在。阴影信息的影响因子1、光源类型2、光照强度及衰减规律3、遮挡物深度,轮廓范围4、光源、遮挡物、投影面的相对位置提取影响因子的原则:只考虑潜在的主要因素,忽视次要因素,简化计算Birch快速智能分类算法BIRCH采用了一种多阶段聚类技术:数据集合的单遍扫描产生一个基本的好簇,一或多遍的额
8、外扫描可以用来进一步(优化)改进聚类质量。它主要包括两个阶段:阶段一:BIRCH扫描数据库,建立一棵存放于内存的初始CF树,它可以看作数据的多层压缩,试图保留数据的内在聚类结构。阶段二:BIRCH采用某个(选定的)聚类算法对CF树的叶节点进行聚类,把稀疏的簇当作
此文档下载收益归作者所有