what is ssao
说到ssao 就要从ao说起,ao,即间接环境光遮蔽技术。我们知道现实中的光线,除了来自太阳和电灯的直射光线以外,光线碰到物体以后,还会再次反射,折射,而再次反射折射的过程中,又会被其他物体遮挡,而留下阴影。所以实际上,现实中你看到的阴影,不只是直接光源,如阳光电灯被物体遮挡所留下的阴影,还有许多是它们被间接的反射和折射后所留下的影子,而ao的目的就是模拟这种间接阴影的形成。
从上到下分别是孤岛危机2中的ssao,ssdo,以及最低特效下的木有任何ao。
从上图我们可以更清楚地发现:ao的开启为墙壁的砖缝带来了阴影。而ssdo是孤岛危机2 dx11中带来的新的ao处理方式,它的亮点就是“动态的ao"
我们知道,游戏中的直接光源可以是动态的,而所谓牵一发动全身,一旦直接光源的照射角度,照射强度发生变化的时候,那么与它相关的反射光,折射光也会相对地发生变化,那么这些间接的反射光,折射光被遮蔽所留下的阴影情况也自然会发生变化。传统的ssao在面对这种复杂情况时容易发生最终显示效果上的错误,因此实际上在dx9的孤岛危机2中虽然也有ssao,但其实它对于动态间接光照的遮蔽计算是被关闭的,也就是“死水一般的ssao",而ssdo的出现则可以实现精确地处理全动态范围的间接环境光遮蔽情况,因此在dx11版中你所看到的ao,是随着环境光源的变化而变化的。
实现原理:
ssao:屏幕空间环境光遮蔽,是ao被摆上台面后,最早提出的,一种环境光遮蔽阴影计算与实现技术。原理是这样的:我们知道物质的表面是凹凸起伏的,而游戏为了表现物体起伏,通常是在物体模型和物体凹凸纹理上做文章。ssao的目的就是检测这些凹凸纹理表面的凹凸情况,也就是”深度值“来判断哪些物体在凹的地方,那些物体在凸的地方。凹的地方被间接光源照射以后,它的光会被凸的地方挡住,从而产生阴影,于是ssao检测到以后,赋予它一个阴影。
ao的开启为墙壁的砖缝带来了阴影,而ssdo是孤岛危机2 dx11中带来的新的ao处理方式。它的亮点就是“动态的ao"。我们知道,游戏中的直接光源可以是动态的。而所谓牵一发动全身,一旦直接光源的照射角度,照射强度发生变化的时候,那么与它相关的反射光,折射光也会相对地发生变化。那么这些间接的反射光,折射光被遮蔽所留下的阴影情况也自然会发生变化。传统的ssao在面对这种复杂情况时容易发生最终显示效果上的错误,因此实际上在dx9的孤岛危机2中虽然也有ssao,但其实它对于动态间接光照的遮蔽计算是被关闭的,也就是“死水一般的ssao"。而ssdo的出现则可以实现精确地处理全动态范围的间接环境光遮蔽情况,因此在dx11版中你所看到的ao,是随着环境光源的变化而变化的。
what is ssao相关推荐
- Bilateral Filtering(双边滤波) for SSAO(转)
原文链接:http://blog.csdn.net/bugrunner/article/details/7170471 另外一篇相似的英文资料:http://homepages.inf.ed.ac.u ...
- Bilateral Filtering(双边滤波) for SSAO
1. 简介 图像平滑是一个重要的操作,而且有多种成熟的算法.这里主要简单介绍一下Bilateral方法(双边滤波),这主要是由于前段时间做了SSAO,需要用bilateral blur 算法进行降噪. ...
- OpenGL SSAO屏幕空间环境光遮蔽的实例
OpenGL SSAO屏幕空间环境光遮蔽 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include <glad/glad.h> #include ...
- OpenGL 具有深度恢复的SSAO
OpenGL具有深度恢复的SSAO OpenGL具有深度恢复的SSAO简介 源代码剖析 主要源代码 OpenGL具有深度恢复的SSAO简介 在上一教程中,我们研究了屏幕空间环境光遮挡算法.我们使用了一 ...
- 光影的魔法!Cocos Creator 实现屏幕空间的环境光遮蔽(SSAO)
引言: 本文作者 alpha 从事游戏前端开发已经5年,毕业后他先是入职了腾讯无线大连研发中心,而后开启了北漂生涯,在北京的这3年一直都在使用 Cocos Creator,对前端业务,包体.内存优化有 ...
- 屏幕空间环境光遮蔽(SSAO)算法的实现
SSAO SSAO介绍 之前写SSAO的时候最后一直没达到想要的效果,最近闲下来又重新写了下,才发现自己之前真的蠢- -!(位置和法线忘转到视口坐标).这里就好好整理一下这个算法,以免下次想拿起来又不 ...
- Unity Shader-Ambient Occlusion环境光遮蔽(AO贴图,GPU AO贴图烘焙,SSAO,HBAO)
前言 十一放假很开心,正好赶上观望了了许久的<尼尔·机械纪元>打折啦.窝在家里搞了三天三夜,终于E结局通关啦!!!真的好久没玩过这么好玩的游戏了,于是乎我的废话应该会多不少,毕竟,写blo ...
- SSAO与HBAO学习笔记(持续改进)
简介 环境光遮蔽是计算场景中每一点是如何接受环境光的.而实时渲染中的环境光遮蔽则是对此的模拟. 我们这里实现比较常见的SSAO和HBAO,一个表面点的AO的计算则是对其法线所在半球面的可见性的积分 A ...
- SSAO By Computer Shader(三)
SSAO By Computer Shader(三) 开启一个专题,SSAO By Computer Shader.使用Computer Shader实现SSAO效果.第一篇Computer Shad ...
最新文章
- BZOJ4568: [Scoi2016]幸运数字(线性基 倍增)
- python3.7.1安装教程详细_CentOS 7 安装python3.7.1的方法及注意事项
- 字节跳动喜欢招聘这样的机器学习工程师
- 《柳叶刀》:群体免疫不靠谱!欧洲迄今最大新冠血清学调查显示,西班牙抗体阳性率仅5%...
- 用Instant client批量安装Oracle客户端-安装配置
- 强大的DataGrid组件[12]_分组(Group)——Silverlight学习笔记[20]
- python输出命令_Python中的命令输出解析
- Linux服务器更换主板后,网卡识别失败的处理方法
- 《王家视频教程图书馆》
- PV操作经典问题通解
- 手把手带你实现一个短信验证码
- JQ---h5页面上实现微信扫一扫功能
- 作为程序员,我将如何教育自己的孩子
- python读取csv文件(一行一行的读取)
- TCP/IP协议中的端口
- Python第一天:你必须要知道的Python擅长领域以及各种重点学习框架(包含Python在世界上的应用)
- C语言:账号登陆问题
- 前后加编码_如何不加思考地编码?
- cocos2d-x下硬件音量按键控制游戏音量的实现
- 接入GoogePay 退款APi