基于屏幕空间的环境遮挡技术毕业论文
2021-03-28 23:10:56
摘 要
逼真的游戏场景可以给玩家带来更好的用户体验。在游戏中,如果能够逼真的模拟现实生活中的光照,即实现全局光照,就可以使场景更加的逼近现实。使用环境遮挡技术就可以做到这点,但是它只适用于离线渲染,不能用于动态的游戏场景。屏幕空间的方法打破了这个局限,它可以改善全局光照模拟的结果,有效地逼近环境遮挡的实时效果。
本文主要是在延迟渲染算法的基础上实现了一个基于屏幕空间的环境遮挡算法。主要的工作内容为:
- 实现一个标准的延迟渲染算法。本文利用延迟渲染的几何阶段将场景中物体的几何信息都保存在G-buffer中。之后在延迟渲染的光照阶段使用光源的属性和G-buffer中的数据来把场景渲染到屏幕上;
- 对屏幕空间上的每个像素的邻域进行采样,完成基于屏幕空间的环境遮挡技术。采样方式是在以当前像素为球心的球内进行随机采样。而计算环境遮挡值则是使用到了G-buffer中的位置和法线信息。对于由于采样较少或不足而产生的噪点也进行了简单的模糊处理。最后用环境遮挡因子对延迟渲染光照阶段中的环境光颜色进行调节;
3)实现在不同的场景上的验证算法。通过对不同的模型进行渲染,将使用了SSAO技术模型的效果与原始模型的效果进行对比分析。
实验结果表明,该技术不仅改善了场景中墙角、褶皱与缝隙等表现不清晰的问题。而且对于细节的处理也更加的细致,尤其是在暗部阴影上。使用该技术可以提高场景中的光照效果,加强了空间的层次感,使场景更加的逼真。
关键词:屏幕空间;环境遮挡;环境遮挡因子;延迟渲染;采样
Abstract
Realistic game scenes can give players a better user experience. In the game, if you can realistic simulation of real life in the light,that is, to achieve global illumination,you can make the scene more realistic. This can be done using the ambient occlusion technique, but it is only suitable for offline rendering and can not be used for dynamic game scenes. The method of screen space breaks this limitation, it can improve the results of global illumination simulation, and effectively approximating the real-time effects of ambient occlusion.
This thesis mainly implements a screen space ambient occlusion algorithm based on the deferred shading algorithm. The main work is:
1)Implementing a standard deferred shading algorithm. The geometric information of the objects in the scene is stored in the G-buffer in the geometric pass of the deferred shading. Using the properties of the light source and the data in the G-buffer to render the scene to the screen during the lighting pass of the deferred shading.
2)The neighborhood of each pixel on the screen space is sampled to implement the screen space ambient occlusion technology. The sampling method is random sampling in the ball with the current pixel as the center of the ball.And the calculation of the ambient occlusion values use the position and normal information in the G-buffer. Simple blurring is also performed to reduce noise due to less or insufficient sampling. Finally, the ambient occlusion factor is used to adjust the ambient light color in the lighting pass of the deferred shading.
3)The verification algorithm is implemented on different scenes. By rendering the different models, the effect of the model uses SSAO is compared with the effect of the original model.
The experimental results show that the technology not only improve the performance of corners, wrinkles and gaps in the scene. But also for the details of the treatment is more meticulous,, especially in the dark shadows.. The use of the technology can improve the lighting effects in the scene, to strengthen the spatial hierarchy, so that the scene is more real.
Key Words:screen space ;ambient occlusion;ambient occlusion factor;deferred
shading;sampling
目录
第1章 绪论 1
1.1 目的及意义 1
1.2 国内外研究现状 1
1.3 本文主要工作 3
1.4 技术方案 3
1.5 本文组织结构 5
第2章 基于屏幕空间的环境遮挡算法 6
2.1延迟渲染算法 7
2.1.1 几何阶段 7
2.1.2 光照阶段 9
2.2 环境遮挡阶段 11
2.2.1 采样方式 11
2.2.2 计算环境遮挡 13
2.3 模糊处理阶段 15
2.4 算法的整体流程 16
2.5 本章小结 17
第3章 实验结果与分析 18
3.1 实验结果 18
3.2 分析 21
3.3 本章小结 22
第4章 总结与展望 23
4.1 总结 23
4.2 展望 23
参考文献 24
致 谢 26
第1章 绪论
1.1 目的及意义
随着计算机图形技术的高速发展,游戏玩家对于游戏画面逼真程度的要求变得越来越高,而近年来光照效果是推动游戏画面逼真程度的最关键因素。游戏中的光照效果越接近现实生活中的光照效果,游戏的画面就会越逼真。可是模拟现实生活中的光照实现起来还是比较困难,效果也不是十分的理想。
如果想要更加逼真的模拟现实生活中的光照,除了要计算直接光照,还要对间接光照进行计算。即要实现全局光照(Global Illumination,GI)[1]。而在早期的游戏中只实现了第一个。目前,全局光照已经在游戏中开始实现。它们的实现通过多种方式,其中最常用的技术是环境遮挡(Ambient Occlusion,AO)技术[2]。但由于它需要预处理,计算量很大,所以只适用于离线渲染,而不适用于实时渲染。可现代的大部分游戏都是动态画面,需要实时渲染。为了实现实时渲染,提出了基于屏幕空间的环境遮挡(Screen Space Ambient Occlusion,SSAO)[2]。不同于传统的环境遮挡需要在三维空间中计算环境遮挡,且只能用于离线渲染。基于屏幕空间的环境遮挡是在屏幕空间(二维空间)内计算环境遮挡。因此,它的渲染效率较高,适合在实时渲染中使用。该技术可应用于动态游戏中,提高光照效果,使得游戏画面更加的逼真,所以对该技术的研究是非常有必要的。