branchrust_reboot/main/indirect_instancingcancel
260 Commits over 304 Days - 0.04cph!
- Add support for material property blocks in the fallback renderer
- Fix retro tool cupboard transparency-related rendering issues
Enable more materials for instancing that weren't caught previously because of a buggy automation in indirect instancing tools
Linearise colour values before storing them in the instance data buffer
Cleanup/polish indirect instancing tools
Small Cleanups:
- use Mathf.NextPowerOfTwo in BufferList
- remove CommandMemoryBase.damage_bitmap
- revert changes to MainCamera
- remove FormerlySerializedAs in RendererLOD
Keep instancing disabled by default
Strip debug code out into separate files
Remove old unused job code
- Properly support material property blocks (for real this time)
- Disregard LOD minimum distance for the 0th LOD entry to prevent objects hiding from getting too close to them.
- Fix ConVars
- Various cleanups
Split crude profiler and memory tally into separate files as they should
- Add more ConVars and explainations to indirect instancing
- Disable indirect instancing by default
- Disable debug info by default
- Fix multiple NREs when returning to the main menu
- Add assertions to catch use after free with the crude profiler / memory tally
Check for AVX2 support instead of FMA because Burst won't compile for FMA specifically.
Enable 3052 materials for instancing
Final SIMD frustum culling implementation for x86/AVX and untested implementation for ARM/Neon
Fix ARM/Neon SIMD (and non-SIMD) code for frustum culling.
Implement NativeArray.ReinterpretLoad() for NativeArray.ReadOnly to avoid triggering concurrency checks.
Fix unity_BaseCommandID not being set on Mac
Fix stencil buffer incompatibility in Standard and Standard-Terrain
Merge from ./command_buffer_indirect because I'm stupid
Merge from ./command_buffer_indirect
Added debug functions to get a list of the largest meshes in VRAM and a counter to keep track of transparent calls in indirect instancing.
- Added a crude way to estimate mesh VRAM and RAM usage
- Added a command to find duplicate meshes in the instancing system
Added a crude profiler that works in release builds
More toggleables: merge_damage (fixed), motion_list, remove_queue
Split MotionList in separate file
- fixed mip level calculation errors for fallback objects
- fixed fallback objects not properly updating when in motion
Implement texture streaming support for the instanced fallback renderer
Remove CombineTrivialDistancesJob
Fix NRE when trying to move an instance that previously failed the instancing checks
Prepare models and materials for instancing (once again)
Revert materials and models
Implemented support for instances in motion and other fixes
Eliminate the need to update call indices because they are stable and can be stored with each command
Made `count` property report the highest populated index instead of the allocated space.
WIP work to speed up culling (AVX fix)
Added toggles to turn culling stages on and off
Small cleanups left over from a failed experiment
Make all buffer memory blocks have a Swap() function