发布网友 发布时间:2022-05-15 11:28
共1个回答
热心网友 时间:2023-10-22 03:10
随着计算机图形技术的发展,玩家对游戏画面图形的*真度要求越来越高,而近些年推动游戏图形画面*真的最关键环节就是光照/光影效果,如果能非常近似的模拟与现实生活一样的光照效果,那么游戏的画面将非比寻常,但是光照/光影效果的计算非常复杂而且消耗巨大的资源,成为阻碍相关技术推进的最大障碍。
实现光照/光影的最*真效果就是达成全局光照。在早期的游戏中仅能实现直接光照的效果,也就是说光线从光源发出、照射到物体上后、反射到玩家眼中,光照的计算就完成了。但是随着技术的发展,要得到更加具有真实感的图形画面,不仅要计算直接光照,还需要计算间接光照,也就是说,光线从光源发出、照射到物体上后,除了计算物体本身反射到玩家眼中的光线,还要计算物体多次反射、折射、吸收光线,以及物体之间因为反射、折射而导致的光线、阴影变化,经过综合计算将光线和阴影的最终效果展示(反射)到玩家眼中,从而实现全局光照的效果。
全局光照在静态图形的处理上比较完美,因为静态图形可以等待渲染的时间,但是对于游戏来说,持续的动态画面必须保证每秒几十fps的渲染速度,因此全局光照的处理就需要非常谨慎,其算法在推进画面真实度的同时,必须保证相应的效率,否则就会打破画面效果和帧速度之间的平衡。
说到这里,我们先介绍一下实现全局光照效果非常好的一种方式,那就是“光线追踪”技术(Ray Tracing),光线追踪算法分为两种:正向追踪算法和反向追踪算法。其中,正向追踪算法是大自然的光线追踪方式,即由光源发出的光经环境景物间的多次反射、透射后投射到景物表面,最终进入人眼。反向追踪算法正好相反,它是从观察者的角度出发,只追踪那些观察者所能看见的表面投射光。
Intel、AMD和NVIDIA都在光线追踪技术方面有所发展,Intel根据相应技术对《Quake4》游戏进行了重制,但是相应的GPGPU处理器Larrabee的销声匿迹让这个技术也暂时消失在人们的视野中;ATI在HD4000系列时代曾经展示过基于光线追踪技术的Cinema 2.0,但目前仍然没有技术的更新资料;NVIDIA在光线追踪方面相对领先,其发布了基于CUDA架构的光线追踪引擎OptiX。
光线追踪在未来将会是实现全局光照的最佳方案,但是光线追踪的计算方法非常复杂、负载极大,并且与目前显卡架构以光栅化为主的处理方式难以融合(Intel和NVIDIA目前都趋向于在Larrabee、Quadro等上实现),短期内仍然无法应用于游戏显卡上。
目前游戏开发者实现全局光照更多的使用AO技术。AO技术以独特的计算方式吸收“环境光”(同时吸收未被阻挡的“光线”和被阻挡光线所产生的“阴影”),从而模拟全局光照。
现在将话题转回来并做一个简短的总结:
1.全局光照是未来实现游戏图形画面真实化的一个重要元素(其可以达成光影效果的*真化,对应的相反关键词为直接光照)。
2.光线追踪是实现全局光照完美效果的最佳技术/方式之一,也是未来的一个发展方向,其技术实现方式最接近现实的物理模型,但是因为效率较低,所以目前的游戏和显卡架构无法承担。
3.目前游戏已经开始实现全局光照的效果,但是并未采用光线追踪的方式,而是采用其它多种实现方式来达成全局光照的效果,其中包括“AO”环境光遮蔽。
4.“AO”环境光遮蔽是实现全局光照中部分物体局部光照和阴影真实化的一种技术方式,其函数实现方式并未严格遵循现实的物理模型,但是效率较高,因此被当前游戏广泛应用。
5.再次强调,AO环境光遮蔽(包括其变种SSAO、HBAO等)仅是实现全局光照的技术方式之一,当前的游戏应用了多种技术方式共同达成全局光照总体效果的完善和完美。