Over the years, game development has come a long way.
From the basic graphics of the DOS and early Windows days to the incredibly detailed, rich, life-like visuals of today’s AAA titles, the evolution has indeed been a stunning thing to behold.
During this evolution, numerous rendering and shading technologies have been introduced.
Technologies like anti-aliasing and anisotropic filtering have stood the test of time, delivering stellar graphics results year after year.
Ambient occlusion is one such feature that has an important part to play in the evolution of photorealistic graphics.
Here, we take a look at the basic principles of ambient occlusion, its different types, and how much sense it can make for your use case.
What Does Ambient Occlusion Do?
If you imagine a particular scene on your screen, one thing that plays a big role in deciding how realistic and impressive it looks is the distribution of light.
When developers started thinking about lighting, the first step was to render realistic character shadows.
However, creating natural lighting conditions for the whole scene in real-time was a different challenge.
This is where ambient occlusion is important. The term “occlusion” means obstructing or blocking.
In real-world scenarios, light is always fully or partially blocked by real-life objects, thereby creating a very particular set of lighting conditions.
In computer graphics, ambient occlusion aims to create the same effect by realistically implementing how objects block, throw, or reflect light in a particular scene, thereby resulting in a more realistic image.
In short, ambient occlusion in computer graphics is a technique that lights up an entire scene taking into account the scene geometry.
All the assets in a particular frame would receive different treatments and levels of lighting based on all the other assets, exactly as it would in the real world.
This means that areas where light is not supposed to reach totally or partially will appear darker and fully illuminated areas would appear lighter.
The first game to successfully implement ambient occlusion was Crysis, released in 2007.
The game received rave reviews for its realistic graphics at the time and the demands placed on current hardware to make that level of rendering possible gave rise to the popular “But can it run Crysis?” memes, and for good reason.
Ambient occlusion was a vital ingredient in the impressive graphical treatment of the game.
Types of Ambient Occlusion
According to the power and capability of the current generation of graphics cards and the support of the feature in games, different modes of implementing ambient occlusion have been used over the years.
With time, implementations have become more realistic and leveraged newer GPU technologies and capabilities.
SSAO or Screen Space Ambient Occlusion
This is the mode of ambient occlusion initially implemented by Crytek at launch.
This technique does not create true ambient occlusion but rather tries to create semi-realistic shadows by using a pixel-level analysis.
SSAO does not take into account the actual shapes of geometry in the scene.
It uses pixel depth calculation to create the impression of subtle lighting changes to create an image that has a little more dynamic range.
This was a great method to use during its time, especially keeping in mind the capabilities of contemporary graphics hardware.
However, the results would vary greatly depending on the particular way the developers would choose to implement it in specific games.
On the plus side, SSAO has a negligible impact on system performance as it places little demand on the hardware.
There is no difference to load times and there is no extra load on the CPU as the entire processing is done on the GPU.
HBAO (Horizon-Based Ambient Occlusion) and HDAO (High-Definition Ambient Occlusion)
These modes of ambient occlusion, developed by Nvidia and AMD respectively, bring more hardware-dependent support for the technology to the market.
These implement a more geometry-based approach to ambient occlusion, taking into account the geometry of the whole scene and rendering the scene based on the specific lighting physics dictated by the objects in the frame.
Darker areas are also rendered in full resolution and this can dramatically improve the quality of the visuals in the game.
Small lighting details in fairly inconspicuous areas like nooks and crannies in the image also get the full ambient occlusion treatment, resulting in photorealistic images that can create an immersive gaming experience.
However, this is much more intensive for the hardware, putting considerably more load on the GPU and CPU.
VXAO (Voxel Accelerated Ambient Occlusion)
This is the latest and greatest standard of fully implemented ambient occlusion.
Brought to the market by Nvidia, this can only work with high-end graphics cards and create stellar results.
In this mode, even objects that are not currently a part of the scene would be rendered for lighting calculations.
For all intents and purposes, this seems to be one of the pinnacles of the technology that finds its place in several modern and visually stunning AAA titles.
RTAA (Ray-Traced Ambient Occlusion)
With Nvidia bringing ray-tracing to the market, RTAA has now become a reality.
Using powerful ray-tracing to create realistic ambient occlusion effects can definitely help the next tier of AAA games achieve new levels of realism.
We have to wait and watch how this is implemented and evolved in the near future.
Should You Use Ambient Occlusion?
Your use of ambient occlusion during gameplay should depend on the power and capabilities of your hardware, the kind of games you are running, and the level and type of ambient occlusion support on offer.
With that said, it is always a good idea to turn ambient occlusion on if you are looking to enjoy a better graphical experience that is closer to reality.
SSAO can be a good option if you are using lower-powered, older hardware due to the minimal performance hit.
If you are running more modern hardware, you can definitely use HBAO or VXAO on Nvidia cards or HDAO on AMD cards.
The trick is to tweak your settings until you reach a balance between great visual and snappy performance.
You might need to tweak other settings like your draw distance, resolution, and texture quality to get optimum results.
Set up correctly, ambient occlusion can certainly be an enhancement of your gaming experience.