keijiro / MiniEngineAO

SSAO image effect from Microsoft MiniEngine, ported to Unity.
MIT License
506 stars 42 forks source link
graphics shader ssao unity unity3d

MiniEngineAO

screenshot screenshot

screenshot screenshot

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.

Installation

Download one of the unitypackage files from the Releases page and import it to a project.

License

MiniEngineAO inherits the original license of the MiniEngine library. See LICENSE for further details.