branchrust_reboot/main/compute_foliagecancel
50 Commits over 335 Days - 0.01cph!
Various optimizations done before GDC
Assorted small update loop optimizations
Merge from terrain_sampling
Tidy up, improved editing
Improved hashing + seed calculation to avoid placement collisions
Support for all LODs, trimming LOD buffer sizes to save memory.
Added inspector which shows active renderers and allows hiding / showing specific renderers.
Switched to a more optimal data type for instance data
Bug fixes, hooking renderer culling into the system
Improvements to renderer culling
Managing active renderers but messy
Added a precomputation step to cache placements
Bug fix with counters, some tidy up, added some debug in the inspector to show memory usage
Consolidated culling indirect args
Consolidated indirect draw args into one buffer.
Moved culling calls into a command buffer
Pipeline fully working now, everything stays on GPU.
Basic culling implementation properly hooked up
Using groupshared to store some per cell calculations
Moved placement info back to a constant buffer
Starting to hook up culling routines
Better window update calculation
Better instance seeds, moved placement info into StructuredBuffer
Hooked up to temp rendering
Fixed method of creating a rotation matrix from normal vector and rotation
Placement routine matches legacy version fully now
Modifying placement method for more efficiency
Setting compute properties on init
Properly rendering multiple placements, updating buckets when new cells are active, basic culling.
Set up a basic shader and renderer for testing.
Setting up placement renderer, managing active window of cells.
Properly integrated compute CheckPlacement into foliage grid
Fully converted CheckPlacement routine to compute.
Converted placement routines to compute
Calculating potential total instance count debug
Stripped a lot of code out and setting up foliage grid to try and support compute based foliage.