先介绍SSAO 接着介绍SSAO的核心算法
延迟着色法的采样 颜色采样 把像机的几个参数传入Shader
为了在OpenSceneGraph实现屏幕空间环境光遮蔽 , 首先要实现延迟着色法的采样.
本次准备演示的场景, 树型结构是这样的, 用三个面片来显示采样的结果, 采样像机只能看到模型节点.
我学采样是从这个例子中学的,Examples osgfpdepth, 这个例子讲的是MSAA抗锯齿, 代码挺多的, 单单想学采样读这么长一串并不容易
为什么还要传ViewMatrix与ProjectionMatrix, 之前预到过一个问题是最后处理采样的正交相机, 这两个矩阵与主像机不一样, 这会造成处理后的数据不一样. 从osgdeferred例子中来看, 读取采样的像机甚至不用建个面片来读取采样贴图. 直接用屏幕的坐标xy gl_FragCoord.xy 作贴图的坐标 GL3 支持这种做法吗? 之前计划的深度采样不打算讲了, 因为觉得这一课的内容有点多了.
- SSAO渲染
高光
X. 像机的控制, 自建一个顺手的漫游器,方便调试