Screen space ambient occlusion

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Screen space ambient occlusion (SSAO) is a rendering technique for efficiently approximating the computer graphics ambient occlusion effect in real time. It was developed by Vladimir Kajalin while working at Crytek and was used for the first time in a video game in the 2007 Windows game Crysis, developed by Crytek and published by Electronic Arts.

Implementation[edit]

SSAO component of a typical game scene

The algorithm is implemented as a pixel shader, analyzing the scene depth buffer which is stored in a texture. For every pixel on the screen, the pixel shader samples the depth values around the current pixel and tries to compute the amount of occlusion from each of the sampled points. In its simplest implementation, the occlusion factor depends only on the depth difference between sampled point and current point.

Without additional smart solutions, such a brute force method would require about 200 texture reads per pixel for good visual quality. This is not acceptable for real-time rendering on current graphics hardware. In order to get high quality results with far fewer reads, sampling is performed using a randomly rotated kernel. The kernel orientation is repeated every N screen pixels in order to have only high-frequency noise in the final picture. In the end this high frequency noise is greatly removed by a NxN post-process blurring step taking into account depth discontinuities (using methods such as comparing adjacent normals and depths). Such a solution allows a reduction in the number of depth samples per pixel to about 16 or fewer while maintaining a high quality result, and allows the use of SSAO in soft real-time applications like computer games.

Compared to other ambient occlusion solutions, SSAO has the following advantages:

  • Independent from scene complexity.
  • No data pre-processing needed, no loading time and no memory allocations in system memory.
  • Works with dynamic scenes.
  • Works in the same consistent way for every pixel on the screen.
  • No CPU usage – it can be executed completely on the GPU.
  • May be easily integrated into any modern graphics pipeline.

Of course it has its disadvantages as well:

  • Rather local and in many cases view-dependent, as it is dependent on adjacent texel depths which may be generated by any geometry whatsoever.
  • Hard to correctly smooth/blur out the noise without interfering with depth discontinuities, such as object edges (the occlusion should not "bleed" onto objects).

In video games[edit]

Title Year Platform(s) Notes
7554 2011 Microsoft Windows
Age of Mythology 2014 Microsoft Windows Windows only remake.
Alan Wake[1] 2010 Microsoft Windows, Xbox 360
Amnesia: The Dark Descent[2] 2010 Microsoft Windows, OS X, Linux
Amnesia: A Machine for Pigs 2013 Microsoft Windows, OS X, Linux
Among the Sleep 2014 Microsoft Windows, OS X, Linux, Playstation 4
ArmA 2
ARMA 2: Operation Arrowhead
[3]
2009
2010
Microsoft Windows
Arcania: Gothic 4 [4] 2010 Microsoft Windows, PlayStation 3, Xbox 360 Windows version only.
Assassin's Creed: Brotherhood[5][6] 2010 Microsoft Windows, PlayStation 3, Xbox 360
Assassin's Creed IV: Black Flag[7] 2013 Microsoft Windows, PlayStation 3, PlayStation 4, Xbox 360, Xbox One, Wii U Windows version uses horizon-based ambient occlusion (HBAO+), an improved form of SSAO.
Batman: Arkham Asylum[8] 2009 Microsoft Windows, PlayStation 3, Xbox 360, OS X Windows and Xbox 360 versions only.
Batman: Arkham City 2011 Microsoft Windows, PlayStation 3, Xbox 360, Wii U, OS X Windows version only. Uses horizon-based ambient occlusion (HBAO), an improved form of SSAO.
Batman: Arkham Origins[9] 2013 Microsoft Windows, PlayStation 3, Xbox 360, Wii U Windows version only. Uses horizon-based ambient occlusion (HBAO+), an improved form of SSAO.
Battlefield 3[10] 2011 Microsoft Windows, PlayStation 3, Xbox 360
Battlefield: Bad Company 2[11] 2010 Microsoft Windows, PlayStation 3, Xbox 360 Windows version only. Uses horizon-based ambient occlusion (HBAO), an improved form of SSAO.
BattleForge[12] 2009 Microsoft Windows
Binary Domain 2012 Microsoft Windows, PlayStation 3, Xbox 360
Bionic Commando[13] 2009 Microsoft Windows, PlayStation 3, Xbox 360 Windows and Xbox 360 versions only.
Borderlands[14] 2009 Microsoft Windows, PlayStation 3, Xbox 360 Windows and Xbox 360 versions only.
Borderlands 2[15] 2012 Microsoft Windows, PlayStation 3, Xbox 360 Windows and Xbox 360 versions only.
Burnout Paradise: The Ultimate Box[16] 2009 Microsoft Windows, PlayStation 3, Xbox 360 Windows version only.
Call of Duty: Modern Warfare 3[17] 2011 Microsoft Windows, PlayStation 3, Xbox 360 Windows version only.
Chivalry: Medieval Warfare 2012 Microsoft Windows
City of Heroes[18] 2010 Microsoft Windows
Costume Quest 2010 Microsoft Windows, PlayStation 3, Xbox 360
Crysis[19] 2007 Microsoft Windows, PlayStation 3, Xbox 360
Crysis 2[20] 2011 Microsoft Windows, PlayStation 3, Xbox 360
Crysis 3 2013 Microsoft Windows, PlayStation 3, Xbox 360
Crysis Warhead[19] 2008 Microsoft Windows
Darksiders II 2012 Microsoft Windows, PlayStation 3, Xbox 360 Windows version only.
Daylight[21] 2014 Microsoft Windows, PlayStation 4 Windows version uses horizon-based ambient occlusion (HBAO+), an improved form of SSAO.
Dead Island[22] 2011 Microsoft Windows, PlayStation 3, Xbox 360
Dead Space 3[23] 2013 Microsoft Windows, PlayStation 3, Xbox 360 Windows version only.
Dead to Rights: Retribution 2010 PlayStation 3, Xbox 360
Deus Ex: Human Revolution[24] 2011 Microsoft Windows, PlayStation 3, Xbox 360
Dragon Age II[25] 2011 Microsoft Windows, PlayStation 3, Xbox 360 Windows version only.
Empire: Total War[26] 2009 Microsoft Windows
Eve Online[27] 2003 Microsoft Windows, OS X, Linux Nvidia GPUs only. SSAO support added in 2011 update.
F.E.A.R. 2: Project Origin[28] 2009 Microsoft Windows, PlayStation 3, Xbox 360 Windows version only.
F.E.A.R. 3 2011 Microsoft Windows, PlayStation 3, Xbox 360 Windows and Xbox 360 versions only.
Far Cry 3 2012 Microsoft Windows, PlayStation 3, Xbox 360 Windows version has additional support for horizon-based ambient occlusion (HBAO) and high-definition ambient occlusion (HDAO).
Fight Night Champion[29] 2011 PlayStation 3, Xbox 360
Gears of War 2[30] 2008 Xbox 360
Halo: Reach[31][32] 2010 Xbox 360
Hitman: Absolution 2012 Microsoft Windows, PlayStation 3, Xbox 360
IL-2 Sturmovik: Cliffs of Dover[33] 2011 Microsoft Windows
Infamous 2[34] 2011 PlayStation 3
Infestation: Survivor Stories 2012 Microsoft Windows
James Bond 007: Blood Stone[35] 2010 Microsoft Windows, PlayStation 3, Xbox 360
Just Cause 2[36] 2010 Microsoft Windows, PlayStation 3, Xbox 360 Windows version only.
L.A. Noire[37] 2011 Microsoft Windows, PlayStation 3, Xbox 360
Mafia II[38][39] 2010 Microsoft Windows, PlayStation 3, Xbox 360 Windows and Xbox 360 versions only.
Max Payne 3 2012 Microsoft Windows, PlayStation 3, Xbox 360
Metro 2033[40] 2010 Microsoft Windows, Xbox 360
Metro: Last Light 2013 Microsoft Windows, OS X, Linux, PlayStation 3, Xbox 360 Windows version only.
Napoleon: Total War[41] 2010 Microsoft Windows
NecroVision 2009 Microsoft Windows
Overgrowth TBA Microsoft Windows, OS X, Linux
Quake Live 2009 Microsoft Windows, OS X, Linux
Red Faction: Guerrilla[42] 2009 Microsoft Windows, PlayStation 3, Xbox 360 Windows version only.
Risen[43] 2009 Microsoft Windows, Xbox 360
S.T.A.L.K.E.R.: Call of Pripyat[44] 2009 Microsoft Windows
S.T.A.L.K.E.R.: Clear Sky[45] 2008 Microsoft Windows
Shattered Horizon[46] 2009 Microsoft Windows
Saints Row: The Third[47] 2011 Microsoft Windows, PlayStation 3, Xbox 360
Shadow Warrior[48] 2013 Microsoft Windows, PlayStation 4, Xbox One
Slender: The Arrival[49] 2013 Microsoft Windows
Sleeping Dogs[50] 2012 Microsoft Windows, PlayStation 3, Xbox 360 Windows version only.
StarCraft II: Wings of Liberty[51] 2010 Microsoft Windows, OS X After Patch 1.2.0 released 1/12/2011.
Star Trek Online 2010 Microsoft Windows
The Elder Scrolls V: Skyrim 2011 Microsoft Windows, PlayStation 3, Xbox 360 Windows version only. Through modification, or enabling AO through Nvidia driver control panel.
The Cave[52] 2013 Microsoft Windows, OS X, Linux, PlayStation 3, Xbox 360, Wii U, Ouya Windows, OS X and Linux versions only.
The Secret World 2012 Microsoft Windows
The Settlers 7: Paths to a Kingdom[53] 2010 Microsoft Windows
The Witcher 2: Assassins of Kings[54] 2011 Microsoft Windows, Xbox 360 Windows version only.
Tom Clancy's Splinter Cell: Blacklist[55][56] 2013 Microsoft Windows, PlayStation 3, Xbox 360, Wii U Windows version only. Uses horizon-based ambient occlusion (HBAO+), an improved form of SSAO.
Tomb Raider 2013 Microsoft Windows, PlayStation 3, Xbox 360 Windows version only.
Toy Story 3: The Video Game 2010 Microsoft Windows, OS X, PlayStation 3, PlayStation 2, Wii, Xbox 360, PlayStation Portable, Nintendo DS PlayStation 3 and Xbox 360 versions only.
Transformers: War for Cybertron[57] 2010 PlayStation 3, Xbox 360
Uncharted 2: Among Thieves[58] 2009 PlayStation 3
Vox 2012 Microsoft Windows
War Thunder 2012 Microsoft Windows Since patch 1.31.
World of Tanks 2010 Microsoft Windows Since patch 0.8.0.
Warehouse and Logistics Simulator 2014 Microsoft Windows
World of Warcraft 2004 Microsoft Windows, OS X Since Mists of Pandaria expansion prepatch 5.0.4.


See also[edit]

References[edit]

  1. ^ "Alan Wake FAQ – Alan Wake Community Forums". Forum.alanwake.com. Retrieved 2011-08-26. 
  2. ^ http://geekmontage.com/texts/game-fixes-amnesia-the-dark-descent-crashing-lag-black-screen-freezing-sound-fixes/
  3. ^ "Ask Bohemia (about Operation Arrowhead... or anything else you want to ask)! – Bohemia Interactive Community". Community.bistudio.com. 2010-05-06. Retrieved 2011-08-26. 
  4. ^ http://www.bit-tech.net/gaming/pc/2010/10/25/arcania-gothic-4-review/1
  5. ^ "Face-Off: Assassin's Creed: Brotherhood – Page 2 | DigitalFoundry". Eurogamer.net. 2010-11-18. Retrieved 2011-08-26. 
  6. ^ "Assassins Creed: Brotherhood PC Performance Analysis". Dasreviews.com. 2011-02-14. Retrieved 2012-05-10. 
  7. ^ "Assassin's Creed IV Black Flag - GeForce". Nvidia. 
  8. ^ "Head2Head – Batman: Arkham Asylum". Lens of Truth. 2009-08-24. Retrieved 2011-08-26. 
  9. ^ "Batman: Arkham Origins – PC Features Further Explained & Demonstrated". DSOGaming. September 8, 2013. Retrieved 2013-09-08. 
  10. ^ http://publications.dice.se/attachments/BF3_NFS_WhiteBarreBrisebois_Siggraph2011.pdf
  11. ^ http://www.guru3d.com/news/battlefield-bad-company-2-directx-11-details-/
  12. ^ "AMD’s Radeon HD 5850: The Other Shoe Drops". AnandTech. Retrieved 2011-08-26. 
  13. ^ "Head2Head: Bionic Commando". Lens of Truth. 2009-05-29. Retrieved 2011-08-26. 
  14. ^ "Head2Head: Borderlands Analysis". Lens of Truth. 2009-10-29. Retrieved 2011-08-26. 
  15. ^ "Borderlands 2 Gameplay Performance and IQ Review". HardOCP. 2012-10-01. 
  16. ^ "Benchmarks: SSAO Enabled : Burnout Paradise: The Ultimate Box, Performance Analysis". Tomshardware.com. Retrieved 2011-08-26. 
  17. ^ http://community.callofduty.com/thread/4682
  18. ^ "Issue 17: Dark Mirror Patch Notes | City of Heroes® : The Worlds Most Popular Superpowered MMO". Cityofheroes.com. Retrieved 2011-08-26. 
  19. ^ a b "CryENGINE® 2". Crytek. Retrieved 2011-08-26. 
  20. ^ http://crytek.com/sites/default/files/Crysis%202%20Key%20Rendering%20Features.pdf
  21. ^ "Daylight - GeForce". Nvidia. 
  22. ^ http://www.eurogamer.net/articles/digitalfoundry-dead-island-face-off
  23. ^ "Dead Space 3 PC Graphics Settings Rundown". GameFront. February 5, 2013. 
  24. ^ http://www.eurogamer.net/articles/deus-ex-human-revolution-face-off
  25. ^ http://www.techspot.com/review/374-dragon-age-2-performance-test/
  26. ^ "Empire: Total War – No anti-aliasing in combination with SSAO on Radeon graphics cards – Empire Total War, anti-aliasing, SSAO, Radeon, Geforce" (in German). PC Games Hardware. 2009-03-11. Retrieved 2011-08-26. 
  27. ^ CCP. "EVE Insider | Patchnotes". EVE Online. Retrieved 2011-08-26. 
  28. ^ http://www.pcgameshardware.com/aid,675766/Fear-2-Project-Origin-GPU-and-CPU-benchmarks-plus-graphics-settings-compared/Reviews/
  29. ^ http://imagequalitymatters.blogspot.com/2011/03/tech-analysis-fight-night-champion-360_12.html
  30. ^ "Gears of War Series | Showcase | Unreal Technology". Unrealengine.com. 2008-11-07. Retrieved 2011-08-26. 
  31. ^ "Bungie Weekly Update: 04.16.10 : 4/16/2010 3:38 PM PDT". Bungie.net. Retrieved 2011-08-26. 
  32. ^ "Halo: Reach beta footage analysis – Page 1 | DigitalFoundry". Eurogamer.net. 2010-04-25. Retrieved 2011-08-26. 
  33. ^ http://store.steampowered.com/news/5321/?l=russian
  34. ^ http://imagequalitymatters.blogspot.com/2010/07/tech-analsis-infamous-2-early-screens.html
  35. ^ http://www.lensoftruth.com/head2head-blood-stone-007-hd-screenshot-comparison/
  36. ^ http://ve3d.ign.com/articles/features/53469/Just-Cause-2-PC-Interview
  37. ^ "Face-Off: L.A. Noire – Page 1 | DigitalFoundry". Eurogamer.net. 2011-05-23. Retrieved 2011-08-26. 
  38. ^ http://imagequalitymatters.blogspot.com/2010/08/tech-analysis-mafia-ii-demo-ps3-vs-360.html
  39. ^ http://www.eurogamer.net/articles/digitalfoundry-mafia-ii-demo-showdown
  40. ^ http://www.eurogamer.net/articles/metro-2033-4a-engine-impresses-blog-entry
  41. ^ http://www.pcgameshardware.com/aid,705532/Napoleon-Total-War-CPU-benchmarks-and-tuning-tips/Practice/
  42. ^ http://www.eurogamer.net/articles/digitalfoundry-red-faction-guerilla-pc-tech-comparison?page=2
  43. ^ "Risen Tuning Tips: Activate Anti Aliasing, improve graphics and start the game faster – Risen, Tipps, Anti Aliasing, Graphics Enhancements" (in German). PC Games Hardware. 2009-10-06. Retrieved 2011-08-26. 
  44. ^ http://www.pcgameshardware.com/aid,699424/Stalker-Call-of-Pripyat-DirectX-11-vs-DirectX-10/Practice/
  45. ^ "STALKER: Clear Sky Tweak Guide". TweakGuides.com. Retrieved 2011-08-26. 
  46. ^ http://mgnews.ru/read-news/otvety-glavnogo-dizajnera-shattered-horizon-na-vashi-voprosy
  47. ^ http://www.eurogamer.net/articles/digitalfoundry-face-off-saints-row-the-third
  48. ^ http://steamcommunity.com/games/233130/announcements/detail/1514635113343703993
  49. ^ "Slender: The Arrival". Parsec Productions. Retrieved 2013-05-03. 
  50. ^ "Sleeping Dogs Gameplay Performance and IQ Review". HardOCP. 2012-10-02. 
  51. ^ Entertainment, Blizzard (2011-08-19). "Patch 1.2.0 Now Live – StarCraft II". Us.battle.net. Retrieved 2011-08-26. 
  52. ^ http://www.doublefine.com/forums/viewthread/8547/#261785
  53. ^ "The Settlers 7: Paths to a Kingdom – Engine". YouTube. 2010-03-21. Retrieved 2011-08-26. 
  54. ^ http://www.pcgamer.com/2011/05/25/the-witcher-2-tweaks-guide/
  55. ^ "Splinter Cell: Blacklist – PC Features Detailed + New Footage". DSOGaming. June 18, 2013. 
  56. ^ "Tom Clancy’s Splinter Cell Blacklist: Digital Deluxe Edition Now Bundled With GeForce GTX Graphics Cards". Nvidia. July 9, 2013. 
  57. ^ http://www.eurogamer.net/articles/digitalfoundry-xbox360-vs-ps3-round-27-face-off?page=2
  58. ^ "Among Friends: How Naughty Dog Built Uncharted 2 – Page 3 | DigitalFoundry". Eurogamer.net. 2010-03-20. Retrieved 2011-08-26. 

External links[edit]