赞
踩
环境光遮蔽,AmbientOcclusion。一种模拟光线到达物体的能力和粗略的全局方法。
屏幕环境光遮蔽,Screen Space Ambient Occlusion, 一种实现环境光遮蔽遮蔽效果的渲染技术。通过获取像素的深度缓冲、法线缓冲来计算实现,来近似的表现物体在间接光下产生的阴影
AO在Siggraph 2002年会由ILM展示
2007年,Crytek将SSAO应用于孤岛危机
C#
private void Start(){
cam = this.GetComponent<Camera>();
cam.depthTextureMode = cam.depthTextureMode | DepthTextureMode.DepthNormals;
}
获取相机组件
深度纹理模式设置为 带深度 和 带法线的
Shader
这里的UV是屏幕空间的UV
具体参考:https://zhuanlan.zhihu.com/p/92315967
tangent其实是半球面上 随机的一个向量(随机的方法参考下文)
第二步:
_SampleKeneralRadius : 采样半球的半径长度
第三步:
因为都是在观察空间下进行的计算,所以得到randomPos后,乘以投影矩阵,再视图映射即可得到相应的屏幕坐标
rclipPos :即是球面上的点
应用于求法向半球的正交基时,其第二步生成随机变量。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。