Indirect GPU instancing & painting with occlusion culling, frustum culling, and LODs in Unity
This Project is undergoing a large refactor.
This project is built off of elliomans indirect rendering with compute shaders. https://github.com/ellioman/Indirect-Rendering-With-Compute-Shaders
What is different in this version?
- gpu bitonic sorting is now no longer reliant on powers of two (thanks to EmmetOT - https://github.com/EmmetOT/BufferSorter)
- improved user interface
- instances can now be painted into the scene, much like unitys terrain detail system
- amplify shader editor examples
- wind shader example
Features
- BIRP support (included in this repo (occlusion culling not setup yet))
- URP support (soon)
- HDRP support (https://github.com/Milk-Drinker01/Milk_Instancer_HDRP)
- instance density control
- paint prefabs on any object
- multiple prefab support
- per-instance occlusion culling
- frustum culling
- up to 3 LODs
- Amplify Shader Editor examples
- ShaderGraph examples
- wind shader example (ASE and SG)
- Multi-Material Prefab support (for things like trees)
- world streaming/detail zones
- VR: supports both multi pass and Single Pass Instanced
What am I still working on?
- Render Pipeline Consolidation
- built in renderer occlusion culling
- URP support
- more spawning methods, perhaps procedural terrain spawning
Project info:
- created on unity 2021.3.1f1 (tested as low as 2020.3)
if you find this project useful to you in any way, feel free to leave it a star, or subscribe to my youtube. it helps me out alot! https://www.youtube.com/c/MilkDrinker01