GPU Instancer is an out of the box solution to display extreme numbers of objects on screen with high performance. With a few mouse clicks, you can instance your prefabs and Unity terrain details.
GPU Instancer provides user friendly tools to allow everyone to use Indirect GPU Instancing without having to go through the deep learning curve of Compute Shaders and GPU infrastructure. Also, an API with extensive documentation is provided to manage runtime changes. --------------------------------- Features --------------------------------- - Out of the box solution for complex GPU Instancing. - VR compatible. Works with both single pass and multipass rendering modes. - Easy to use interface. - Tens of thousands of objects rendered lightning fast in a single draw call. - GPU frustum culling. - Automatically configured custom shader support - Complex hierarchies of prefabs instanced with a single click. - Multiple sub-meshes support. - LOD Groups support. - Shadows casting and receiving support for instances (frustum culled instances still can cast shadows). - Unity 5.6 support. - Well documented API for procedural scenes and runtime modifications (Examples included). - Example scenes that showcase GPU Instancer capabilities.
Prefab Instancing Features: - Ability to automatically instance prefabs at your scene that you distribute with your favorite prefab painting tool. - Area localized rigidbody and physics support. - Instance based material variations through material property blocks. - Enabling and disabling instancing at runtime per instance basis. - API to manage instanced prefabs at runtime.
Detail Instancing Features: - Dense grass fields and vegetation with very high frame rates. - Included vegetation shader with wind, shadows, AO, billboarding and various other properties. - Support for custom shaders and materials. - Cross quadding support: automatically turns grass textures to crossed quads. - Ability to paint prefabs with custom materials on Unity terrain (with Unity terrain tools). - Ability to use prefabs with LOD Groups on Unity terrain. - Further performance improvements with automatic spatial partitioning. - API to manage instanced terrain detail prototypes at runtime (Examples included). - Editor GPU Instancing simulation.
Planned Features: - SpeedTree and Tree Creator support. - GPU Occlusion culling (hi-z occlusion culling) - Support for animation baking and skinned mesh renderers.
Requirements: - Graphics hardware with Shader Model 5.0 - Vulkan/OpenGL ES 3.1 (Android) - Metal (iOS)
To provide the fastest possible performance, GPU Instancer utilizes Indirect GPU Instancing using Unity's DrawMeshInstancedIndirect method and Compute Shaders.
GPU Instancing results in magnitudes of performance improvement over static batching and mesh combining. Also, other available solutions for GPU Instancing (including Unity's material option and the DrawMeshInstanced method) fail short on limited buffer sizes and therefore result in more draw calls and less performance. By using the indirect method GPU Instancer aims to provide the ultimate solution for this, and increases performance considerably while rendering the same mesh multiple times.