- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于光线跟踪的方差阴影图算法.doc
基于光线跟踪的方差阴影图算法
摘要:提出了基于三维物体空间的光线跟踪算法和基于二维屏幕空间的方差阴影图算法的结合来进行真实感场景的渲染,进而产生真实感效果较好的阴影效果。经典的蒙特卡罗光线跟踪算法在进行三维场景的渲染时需要进行大量的求交计算,对光线进行递归的跟踪求解来模拟现实场景中的光线,通过大量间接光照的计算来获得较强的真实感效果。而阴影又是影响场景真实感的重要因素,算法以渲染的像素为中心,依靠附近的像素来计算该点的深度的均值和方差,来判定该点所获得的光照系数。实验表明,通过本文的算法可以实现较好的阴影效果并且拥有较快的渲染效率。
关键词:光线跟踪;方差阴影图;求交计算
中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2016)03-0201-02
近年来,真实感三维图形的绘制已经成为计算机图形学研究的重要方向,其目标在于精确的模拟现实生活中光的传播和各种光照效果,因此在对图像质量要求较高的领域,如电影和游戏制作中得到了广泛的应用。光线跟踪算法是真实感图形技术中的重要算法之一,应用光线跟踪模型不仅能模拟出真实的光源和环境光照射到物体表面产生的镜面反射、漫反射和透射光照效果,还可以实现较为真实的明暗效果,也就是阴影。阴影在三维虚拟场景中扮演着重要的角色,阴影的效果可以直接的提现图形的真实感指数,它可以精确的反应出场景中物体之间的相对位置,增加绘制效果的立体感和场景层次感。虽然光线跟踪可以产生效果非常好的柔和阴影,但是由于其计算量非常庞大,需要递归的跟踪计算很多次。而普通的阴影图算法所产生的阴影真实感效果并不理想,所以提出了采用两类算法的结合来产生阴影质量较高的效果并且保证较好的场景渲染速度。
1 方差阴影图算法
普通的阴影图算法虽然可以快速绘制出阴影,但在复杂场景下走样比较严重。所以我们采用方差阴影图算法VSM(Variance shadow map)来产生柔和阴影的效果。本文算法主要是在三维物体空间的光线跟踪算法的基础上,与二维图像空间的方差阴影图算法的结合,在保证阴影质量的同时,使得场景的绘制速度达到可交互的级别。和传统的阴影图算法一样,首先以光源为视点对场景进行渲染,对于方差阴影图算法来说这一步需要获取深度值和深度值的平方。通过下面的公式来计算均值[μ]和方差σ2:
求得光线与场景中每个点的深度值,选则以交点hitpoint为中心附近的9宫格(也可以更多,那样效果更好)像素来进行求取均值和方差。根据附近3x3像素范围内方差和均值所求得的系数与相应的光强相乘得到该点的光强。
具体的判断方法:假设第一次以光源为视点,进行渲染,所得的深度为d为光源到hitpoint的距离,进行复杂的齐次矩阵坐标变换后第二次从视点进行渲染的时候,所得的交点与光源的距离为t。如果tu,则该点被遮挡,处于阴影之中,颜色直接设置成背景色。
2 OptiX简介
本文算法就是利用OptiX来完成的。OptiX是由英伟达推出的光线跟踪引擎,为GPU硬件提供大规模并行计算的框架,依靠这个框架可以使光线跟踪的算法达到可交互式的目的。OptiX本身并不是一个光线跟踪器,而是一个可扩展的基于光线跟踪算法的应用程序框架。OptiX程序有两部分组成:1)主机API(host-based API);2)CUDA C 程序系统(CUDA C-based programming system)。
3 实验结果分析
实验使用的计算机基本配置:Intel(R)Xeon E3-1255 v3 CPU,4G主存,NV Quadro K2000 GPU,编译环境为vs2013。实验使用的模型是Bunny模型,包含的三角形面片数量为14000个。我们采用英伟达的optix光线跟踪加速程序框架来实现方差阴影图。像素设置为1024*768,实验结果如图2:
从图中可以清晰看出兔子模型所产生的阴影效果图的边缘是模糊渐变,阴影的效果接近柔和阴影的真实感效果。
根据实验结果,总结出该方法有以下几个优点:
1)使得光源变为聚光灯,其角度基本和视域体的角度相切,光源发射的所有光线所进行的光线跟踪计算达到最小,因为跟踪的光线减少了。这样就使得渲染场景所进行的计算大大减少;
2)阴影的效果近似柔和,由上图兔子阴影的边缘可以看出,由于该效果是在点光源下产生的,所以对于光线的处理速度非常快,效果比纯粹的过滤阴影图要快很多;
3)不需要进行阴影测试,由于把距离参数保存在矩阵当中,所以也减少了计算量和内存空间。该算法结果的帧数能达到20左右,可以达到交互式的级别。如果把光源换成面光源来处理,只需要进行少量的点光源采样就可以达到柔和阴影的效果,图3是通过面光源产生的柔和阴影效果;
文档评论(0)