Difference between revisions of "GPU Instancer"

From GurBu Wiki
Jump to: navigation, search
(One intermediate revision by the same user not shown)
Line 1: Line 1:
[[GPU_Instancer|About]] | [[GPU_Instancer:Features|Features]] | [[GPU_Instancer:GettingStarted|Getting Started]] | [[GPU_Instancer:Terminology|Terminology]] | [[GPU_Instancer:BestPractices|Best Practices]] | [[GPU_Instancer:FAQ|F.A.Q.]]
+
[[GPU_Instancer|About]] | [[GPU_Instancer:Features|Features]] | [[GPU_Instancer:GettingStarted|Getting Started]] | [[GPU_Instancer:Terminology|Terminology]] | [[GPU_Instancer:BestPractices|Best Practices]] | [[GPU_Instancer:FAQ|F.A.Q.]] | [[GPU_Instancer:API_Documentation|API Documentation]]
  
  
Line 16: Line 16:
  
  
GPU Instancer provides user friendly tools to allow everyone to use Indirect GPU Instancing without having to go through the deep learning curve (or extensive development times) of Compute Shaders and GPU infrastructure. Also, an API with extensive documentation is provided to manage runtime changes.
+
GPU Instancer provides user friendly tools to allow everyone to use [[GPU_Instancer:Terminology#GPU_Instancing|Indirect GPU Instancing]] without having to go through the deep learning curve (or extensive development times) of [[GPU_Instancer:Terminology#Compute_Shaders|Compute Shaders]] and GPU infrastructure. Also, an [[GPU Instancer:API Documentation|API with extensive documentation]] is provided to manage runtime changes.
  
  

Revision as of 10:48, 9 May 2019

About | Features | Getting Started | Terminology | Best Practices | F.A.Q. | API Documentation


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 and trees. 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.




Features



GPU Instancer provides user friendly tools to allow everyone to use Indirect GPU Instancing without having to go through the deep learning curve (or extensive development times) of Compute Shaders and GPU infrastructure. Also, an API with extensive documentation is provided to manage runtime changes.


  • Out of the box solution for complex GPU Instancing.
  • VR compatible. Works with both single pass and multipass rendering modes.
  • Mobile compatible. Works with both iOS and Android.
  • Easy to use interface.
  • Ability to use custom shadow distance per prototype and to choose the LOD to render shadows with.


Prefab Instancing Features:

  • Enabling and disabling instancing at runtime per instance basis.


Detail Instancing Features:

  • 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).


Tree Instancing Features:

  • Speed Tree support with wind animations.
  • Tree Creator support with wind animations.
  • Included billboard baker and renderers.


Third Party Integrations:


Lighting Limitations:

  • Baked Global Illumination is not supported for instanced prototypes.
  • Only for Unity versions prior to 2018.2.0f2:' In forward rendering mode, only directional and ambient lights are supported for instanced prototypes. (This limitation does not apply to deferred rendering mode.)


Requirements:

  • DirectX 11 or DirectX 12 and Shader Model 5.0 GPU (Windows, Windows Store)
  • Metal (macOS, iOS)
  • OpenGL Core 4.3 (Windows, Linux)
  • Vulkan (Android, Windows, Linux)
  • OpenGL ES 3.1 (Android 8.0 Oreo or later)
  • Modern Consoles (PS4, Xbox One)