The Impostor Graph is a tool that allows users to create custom impostors for real-time rendering of distant objects. It enables users to build a graph of nodes that output texture atlases, materials, meshes, or other custom data, providing complete control over the impostor building process.
What is the purpose of impostors, and in which scenarios can you see the biggest benefits of this technique?
Typically, open-world games have huge, open areas that can be seen from far away, resulting in an extreme number of triangles on the screen. Usually, because of the distance, those triangles only occupy a small number of pixels, resulting in redundant vertex shader costs. Impostors allow for a tremendous reduction in triangle count by having pre-baked geometry in textures.
What sets this impostor solution apart from others?
Can I customize the impostor baking process?
Yes, this package allows for customizing the impostor baking process using graphs, which allows for a huge variety of customization. The package uses NodeGraphProcessor for the graphs.
Does it work with SRP?
Yes, it works with both URP/HDRP and potentially with custom RP.
Does it work with the Built-in Render Pipeline?
No, it does not currently work with the Built-in Render Pipeline, but this may change in the future if there is a need.
Can I build impostors at runtime?
Yes, you can.
Can I use it with ECS?
Yes, the impostor build process essentially outputs material, mesh, and textures, making it quite compatible with Entities and Entities Graphics.
Have other questions?
Do not hesitate to ask in Discord!
Dependencies