Scalable Ambient Obscurance (SAO) is one of the many new art and rendering improvements in Bold New World, the latest update to The Imperial Realm::Miranda my seamless open-world real time strategy game.
SAO is a well-regarded algorithm for rendering ambient occlusion (the dark area in concave corners where ambient light has trouble reaching) and is a significant rendering upgrade for Miranda. The original paper by Morgan McGuire, Michael Mara and David Luebke does a good job of describing a the algorithm and there is a reference HLSL implementation. I needed something in GLSL for my OpenGL engine, and at first blush, SAO has a lot of moving parts.
You can see the difference SAO makes in the image above. The effect on the lighting of the rocks is remarkable. With the procedural rocks I was building at the same time, I really needed something that would bring them to life beyond normal maps and texturing effects. You might notice a slight straight line of darkening on the ground between the rock formations. I spent quite a bit of time tweaking the parameters of the SAO shader to get rid of unwanted occlusion and I talk in detail about that below. The real bonus of SAO is that it also improves the lighting on all the building and vehicle models that were not specifically having any work done on them for Bold New World.
Bold New World is the upcoming third update to The Imperial Realm::Miranda and a major upgrade to the art and rendering engine. It has been over a year in the making. Bold New World will be released February 8!
Bold New World's features include: