游戏狂人
![Rank: 6](static/image/common/star_level3.gif) ![Rank: 6](static/image/common/star_level2.gif)
- 贡献度
- 46
- 金元
- 14631
- 积分
- 1657
- 精华
- 1
- 注册时间
- 2012-2-29
|
hqscailu 发表于 2014-11-16 00:16 ![](static/image/common/back.gif)
还折射嘞。。你笑死我了。。逗
环境光遮蔽,是模拟光照被细小物体遮挡后,所产生的间接阴影的技术(有别于场景设定的直接光源,如太阳光等等)
就类似于两面墙壁之间的夹角之间,会出现阴影和暗部一般,或者在比较黑暗,只有一盏台灯的室内,即使你背对台灯,你也会看到正面的你的手会在桌子上留下影子,这就是间接光被遮蔽产生的影子
它属于对现在流行的三角锥投影算法(通过光线投射的三角椎路径计算阴影位置,方向的技术,最初广泛应用于)的一种补充技术
实际上,如果程序员采用shadowmapping,一样能够实现环境光遮蔽中那些间接光阴影的效果,但是会让程序员工作量倍增,且程序执行效率低下,因此环境光遮蔽得意产生
本质就是数学公式计算出的遮蔽阴影的再现
所有环境光照统称ao,根据算法(即上面说的数学公式)的不同,有ssao,hdao,hbao,hbao+,ssbc.....等等一系列ao品种
产生的效果和质量也各不相同
而体积光照模拟的是一项早期就常在3dmax等3d渲染软件中广泛运用的一种镜头化技术,当摄像机等拍摄设备拍摄光线时,因设备的特殊构造可以拍到线性反射的光线,这是只有从摄像机镜头里才看得到的现象,通常人眼看不到。这种特效的应用是为了增强画面的镜头感,或者说电影感。。。但其实不是客观真实的画面表现
而当今游戏的体积光照则是3d渲染技术中引入的体积光照模拟方式的程序及时演算化
它的实现方法其实就是可动态计算光线被遮挡情况的lightray,说穿了就是在原场景光源的基础上再设置一个“虚光源”,映射到玩家视角上作为仿入射光源即可(这玩意动态叫体积光,god-ray,不动态叫light-ray,light-ray,在dx7游戏中就有广泛引用) |
|