SSAO的技术原理

三世轮回 提交于 2020-02-27 20:52:03

    记录下最近学习SSAO的心得,免得过段时间又忘记了,毕竟好记性不如烂笔头。

    SSAO也就是环境光遮蔽,是一种实时渲染中模拟环境光线被遮挡的技术,性能比较高,可以在图形的后处理中实现。它的基本步骤如下:

    1. 在真正渲染场景之前,先使用MRT技术,将深度值写入到一个纹理中。

    2. 然后开始真正的渲染。在片段着色器中将当前的屏幕坐标A转换为归一化坐标,然后再转换为三维坐标P

    3. 以三维坐标P点为中心,以R为半径的球体空间内(如果有法线,则为半球体空间),产生若干随机数作为采样。

    4. 将采样点转换为屏幕坐标G,根据G.x和G.y从深度缓存纹理中取出深度值cacheZ,如果G.z > cacheZ,就用A.z-G.z作为当前采样点的遮蔽。

    5. 计算采样点的遮蔽的平均值,作为屏幕A点的遮蔽因子,用于影响环境光照计算。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!