Nothing revolutionary really. It's basically a way of layering, (overlaying), small images on top of the pre-rendered scene image:
This concept of an Overlay gives me a unit of abstraction for all these types of effects. This is good because:
- It allows me to deal generically with all these dynamic effects. (Clean code)
- Adding new effects in the future won't require re-architecting the code.
- I can load and render all overlay effects asynchronously using a thread pool.


