• 1.摘要
  • 2.基本信息
  • 3.简介
  • 4.评测
  • 5.PRT对比
  • 6.名词定义
  • 7.运作方式

ssao

SSAO全称“Screen-Space Ambient Occlusion” (屏幕空间环境光遮蔽)。其最先运用于Crysis(孤岛危机)游戏中,通过GPU的shader实现。

基本信息

  • 中文名

    屏幕空间环境光遮蔽

  • 外文名

    Screen-Space Ambient Occlusion

  • 简称

    ssao

简介

1/3

SSAO通过采样象素周围的信息,利用“逐象素场景深度计算”技术计算得出的深度值直接参与运算。

效果确实错误还比较大,应该先进行简单的空间划分(或类似处理)然后计算。

不过这种方法只是近似地模拟,效果并不正确,但确实能增强场景的层次感,让画面更细腻,让场景细节更加明显。

不同于显卡驱动中普通的AO选项,burnout的SSAO是全动态的,无需预处理,无loading时间,无需消耗内存,不使用CPU,全由GPU处理,对GPU有较大的消耗

SSAO默认是关闭的,可以在游戏视频选项中打开。

评测

在7950GT下跑,加了ssao后,下降了15%。而且,显卡性能越低,下降的越厉害。效率消耗主要是在于要多渲染一遍场景到深度以及之后进行的ssao处理。这遍可以进行优化,如果物体的纹理不带alpha,则可以把他们都合在一批或几批渲染。至于深度图的尺寸 ,我采用了与窗口一样的尺寸,这样精度高。也可以采用低分辨率,但效果会有锯齿,还需要进行模糊处理才比较自然。当然,如果本来就用了延迟渲染技术,本来就有深度图了,那就可以直接拿来用了。

PRT对比

PRT用于静态场景确实是个比较好的方案,毕竟可以预计算。但是对于动态的场景,还需要动态更新。另外,PRT的质量依赖于网格的细分程度,要是模型太简,则效果也糟糕。

因此,PRT对于虚拟现实项目里的高楼大厦等场景(这些模型都是很精简的)来说,就显得不合适了。

已发行的游戏中,运用SSAO的游戏有:

Battlefield 3(战地3)

Crysis(孤岛危机)

Fallout 4(辐射4)

Burnout(TM): Paradise The Ultimate Box(火爆狂飙5:天堂)

Company Of Heroes 2(英雄连2)

Empire: Total War(帝国:全面战争)