GPU Instancer Pro
Using GPU instancing and Compute Shaders, GPU Instancer Pro helps users efficiently manage and render many objects by reducing draw calls and improving performance.
GPU Instancer Pro allows developers to easily integrate and manage large numbers of objects, such as trees, grass, rocks, and other prefabs, with minimal performance impact. It provides user-friendly tools for using Indirect GPU Instancing without needing to master Compute Shaders and GPU infrastructure. Supporting Unity terrain details, trees, and prefabs, it offers advanced features for optimizing culling, adjusting LOD settings, and customizing rendering parameters. For optimal performance, GPU Instancer Pro uses Indirect GPU Instancing with Unity's RenderMeshIndirect method and Compute Shaders.
GPU Instancer Pro includes several modules designed to improve rendering efficiency and streamline the workflow:
Core Module
This foundational module includes essential functions such as rendering, culling, LOD management, billboard creation, and debugging tools. Although it doesn't have a Manager class, developers can use GPU Instancer Pro's rendering system through the API to create custom renderers. Features include:
- GPU-based Distance, Frustum, and Occlusion culling.
- LOD calculation performed on the GPU and Cross-fading support.
- Customizable shadow LOD and culling settings for each prototype.
- Built-in support for multiple cameras.
- Billboard generation capability.
- Easy to use API methods for rendering instances with a Matrix4x4 array.
- Statistical insights such as visible LOD and vertex counts.
- Ability to batch draw calls from multiple sources.
Terrain Module
The Terrain Module includes tools to render terrain details and trees with GPU Instancer Pro. It features the Detail Manager and Tree Manager, providing the following capabilities:
- Native support for multiple terrains with minimal draw calls.
- Unlimited rendering distance for details and trees.
- Support for 'Coverage' and 'Instance Count' Detail Scatter Mode options.
- Distance-based Detail Density Reduction capability.
- Terrain details LOD support.
- Performant add/remove functionality at runtime for terrain details and trees.
- Customizable texture based terrain detail density.
Prefab Module
Equipped with the Prefab Manager, this module provides an intuitive interface for rendering and managing numerous prefab instances in scenes. Key features include:
- Automatic addition and removal of prefab instances for instanced rendering.
- Automatic runtime update of transform data in GPU memory.
- Material variation tools with built-in shader generator.
- Ability to batch draw calls with other Prefab and Tree Managers using the same prefabs.
Technical details
GPU Instancer Pro packages have dependencies to Unity Burst, Colllections and Mathematics packages.
Minimum Requirements
Target devices should support GPU instancing and Compute Shaders.
Supported platforms:
✓ Windows and Windows Store, with a DirectX 11 or DirectX 12 graphics API and Shader Model 5.0 GPU
✓ macOS and iOS using Metal graphics API
✓ Android, Linux and Windows platforms with Vulkan API
✓ Modern OpenGL platforms (OpenGL 4.3 on Linux or Windows; OpenGL ES 3.1 on Android)
✓ Modern consoles
Not supported:
🞫 WebGL
Known Limitations
There are certain limitations that are introduced by the way indirect GPU instancing works in Unity and how GPU Instancer Pro handles it. Below you can find a list of the known limitations.
🞫 Baked Global Illumination is not supported.
🞫 Light Probes are not supported.
🞫 HDRP Ray Tracing is not supported.
🞫 Geometry shaders are not supported.
🞫 Tessellation shaders are not supported.
🞫 Negative scaling on GameObjects is not supported.
🞫 On HDRP for XR devices, Occlusion Culling is not supported.