直观理解SSAO原理

SSAO ,screen space ambient occlusion  屏幕空间环境光遮蔽。

一般光照模型中,环境光用于模拟光线的二次散射,从而使得不受直接光照的地方也能有相应的亮度。

很明显,犄角旮旯里,不应该有太多的光被散射出来,所以犄角旮旯和露出表面的环境光不应该相同。

而在光照模型中,环境光是一个定值。

所以ssao出现了,他解决的就是 如何定量犄角旮旯应该吸收(二次散射不出去的光自然大部分都被物体吸收)多少环境光的问题。

算法的核心其实相当直观,问题来自光的二次散射,那就来为每一个片元模拟一个随机的光线散射模型。

ssao算法基于屏幕后处理,或者说直接对接延迟渲染。因为需要对每一个片元都运行一次算法,消耗巨大。前向渲染根本无法使用。其次,ssao算法 被插在  Gbuffer pass之后   正式渲染之前。它的输出也是一张数据纹理(记录着每个片元受多少环境光)。正式渲染时,仅仅只需要在应用环境光的时候乘上ssao纹理中的数据即可。另外,为了方便基于视口的深度比对,Gbuffer的输出包括光照计算会转变到观察空间下进行,而不是世界空间。

如图所示,图中橘红色的点表示正在处理的片元,蓝色的小点表示随机的向量点,且分布在法向量

  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值