Skip to content

Instantly share code, notes, and snippets.

@keijiro
Last active November 15, 2021 05:17
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save keijiro/437037cc5957c2862a4c4e8ebae0631f to your computer and use it in GitHub Desktop.
Save keijiro/437037cc5957c2862a4c4e8ebae0631f to your computer and use it in GitHub Desktop.

MiniEngineAO

screenshot screenshot

gif

MiniEngineAO is a SSAO image effect for Unity that was originally developed by Team Minigraph at Microsoft for their MiniEngine library.

MiniEngineAO has several advantages compared to other SSAO implementations -- smooth results, good temporal characteristics, optimized for GPU compute. The most significant advantage may be speed. It's heavily optimized with the compute shader features, especially with the local memory (TGSM/LDS) use, so that it manages to avoid major bottlenecks that can be found in traditional SSAO implementations.

The original design of MiniEngineAO can be explained as a combination of two known SSAO methods: Volumetric Obscurance and Multi-Scale Ambient Occlusion. It's well-tailored to have the advantages of both these methods.

System Requirements

Although Metal (macOS/iOS) is thought to fulfill the requirements, it doesn't work due to a texture array issue (case 926975). This issue has been already fixed in the development branch, so it'll be resolved in a near future release.

License

MIT

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment