branchrust_reboot/main/indirect_instancingcancel
76 Commits over 151 Days - 0.02cph!
First complete (but mostly broken) implementation of indirect instancing.
Split most classes into separate files for easier handling and less conflicts.
Regenerate console system
cherry-pick platform fixes
cherry-pick platform fixes
Add terrain occlusion culling to the instanced renderer (WIP)
Add frustum culling to the instanced calls
Cherry pick quality_level_squash
Add texture streaming support to indirect instanced rendering
Automatically remove any meshes from the instancing system that have been destroyed by Unity for whatever reason.
Port all new fixes and refactors from InstancedDebugDraw to IndirectInstancing
Fix compilation due to renaming of FastDebugDraw to InstancedDebugDraw
Cerry-pick BufferMemoryBase, CommandMemoryBase and InstanceMemoryBase
Cherry-pick marking DamageTracker `public`
Mark DamageTracker `public` (again 🙄)
Mark DamageTracker `public`
(Add) Pull out MemoryBlock, AllocatingMemoryBlock and DamageTracker into separate files so they can be reused. In a different directory this time, so Plastic may allow me to cherry-pick, please.
(Remove) Pull out MemoryBlock, AllocatingMemoryBlock and DamageTracker into separate files so they can be reused. In a different directory this time, so Plastic may allow me to cherry-pick, please.
(Add) Pull out MemoryBlock, AllocatingMemoryBlock and DamageTracker into separate files so they can be reused by /main/fast_debug_draw
(Remove) Pull out MemoryBlock, AllocatingMemoryBlock and DamageTracker into separate files so they can be reused by /main/fast_debug_draw
Use FastDebugDraw to draw debugging information of IndirectInstancing
Merge from /fast_debug_draw
Collect debug information about whether the color supplied by RendererBatch matches the color in the material property block
Restructure handling of debug code in IndirectInstancingCamera
Indirect Instancing: Initial support for material propery blocks (only _Color so far)
Fix shader compilation issue in Particles/Pixel Lit 6-Point shader
Fix compilation error in StandardLayers.cginc
Renname ConVar.Batching.renderers → ConVar.Batching.enabled
Fix pass by reference in IndirectInstancingRenderer
Refresh RendererLOD, MeshLOD and MeshCull individually to reduce side effects
Improve and clarify Add() and Remove() handling in RendererBatch
Implement GetActiveComponent() to avoid processing disabled components when refreshing LODs
Pass instancing handle by reference to ensure it's always up to date
Rename LODCell.Timestamp → LastRefreshTimestamp
Pass instancing handle by reference to ensure it's always up-to-date
Make LODComponent's Hide() and Show() public
Made indirect instancing system toggleable via ConVar indirect_instancing.enable and disabled by default
Fixed a bug collecting wrong statistics about unsupported shaders
Indirect Instancing: Add initial support for sub meshes
Indirect Instancing: Restored original bounds calculation (because draw order doesn't seem to matter) and other minor cleanups