userFelixcancel
branchrust_reboot/main/indirect_instancingcancel

465 Commits over 669 Days - 0.03cph!

8 Months Ago
Render single-draw commands through Graphics.RenderMeshIndirect()
8 Months Ago
Check Unity object lifetime before calling onVisibilityChanged callback
8 Months Ago
avoid NRE when enabling indirect instancing
8 Months Ago
▌ ▌▄▋ ▍▇▆▄▅▋▌█▍ ▉▊▍▇▊▋▋ ▆▍▇ ▄▋▇▊██▌▅ ▅▊▊▌▇█▋▊▉▄ ▋▍▄▇█ ▅▄▊▉▊▆▌▊▅ ▍▉▍▄▊▊▌▉▆ ▉▊▌▇▊▆█▉▍ ▆▊▉▍▆▊▆▅ ▉▋▍▆ ▍▇▍▉ ▍▌ █▋▄▌▆▆▊
8 Months Ago
rebase on main
8 Months Ago
* Turn `_PARTICLELAYER_ON` back to a multi_compile keyword to fix snow coverings. * Reject renderers with property blocks that set `_ParticleLayer` from instancing. * Keep renderers non-instanced when `indirect_instancing.fallback` is disabled. * Store reasons for reject/fallback and display it in the debug overlay. * Do not spam the console about fallback instances. * Rename ConVars monsters/non_monsters to multi_draw/single_draw for consistency. * Guard dangerous Indirect Instancing ConVars behind ClientAdmin. * Display the current biome when running `terrain.debug`.
8 Months Ago
Fixed slot machine not animating with Indirect Instancing
8 Months Ago
rebase on main
8 Months Ago
resolve conflicts
8 Months Ago
merge from main
8 Months Ago
* Add an extra update call at the end of the frame after spawning instanced objects to catch spawn-then-move position errors. * Only deal with valid LOD states and skip invalid states both in the middle and at the end of the state array. * Reject renderers without materials outright.
8 Months Ago
Fixed NRE and missing objects after toggling Indirect Instancing at runtime. - Don't reuse MaterialPropertyBlock arrays and allocate completely new ones instead. - Keep separate MPB references for per-renderer and per-material blocks and decide which one to use later. - Ignore empty LOD states everywhere it makes sense.
8 Months Ago
rebase on main
8 Months Ago
rebase on main
8 Months Ago
Update terminology for debug overlay
8 Months Ago
Use direct-to-VRAM buffer uploads on Mac to fix memory leak.
8 Months Ago
Force-disable Occlusion Culling when Indirect Instancing is enabled. (Only until Indirect Instancing can ingest result data from Occlusion Culling)
8 Months Ago
rebase on main
8 Months Ago
Fix client and server build 🎳
8 Months Ago
rebase on main
8 Months Ago
* Fixed doors getting detached when operated on a vehicle with indirect instancing * Fixed ghost objects being left behind if they had skins applied. * Fixed debug overlay not returning correct results in the editor * Improved debug overlay to be more useful and readable * Added prototype SIMD collider-less raycasting code. (WIP)
8 Months Ago
rebase on main
8 Months Ago
CodeGen
8 Months Ago
Remove DeveloperOnly restriction from Indirect Instancing Convars
8 Months Ago
Add an assertion when trying to update visibility while jobs are running
8 Months Ago
Fix assertion triggered when another player uses a telephone
8 Months Ago
merge from shader_variant_cleanup
8 Months Ago
rebase on main
9 Months Ago
Made non-monster (mesh-draw) renderers toggleable for performance testing
9 Months Ago
Mark Indirect Instancing as DeveloperOnly
9 Months Ago
Fixed NRE in FallbackMemory.SubmitDrawCalls and other problems by using a free space bitmap and keeping fallback indices stable
9 Months Ago
rebase on main
9 Months Ago
Fix occasional wrong position of objects which use Animator snapping upon spawn when Instancing is active
9 Months Ago
Attempt to fix release build crash with Indirect Instancing enabled by avoiding (potentially buggy) NativeBitArray altogether.
9 Months Ago
rebase on /main
9 Months Ago
Improve Update() performance by caching is_in_motion state for every entity.
9 Months Ago
Improve Update() performance by caching is_in_motion state for every entity.
9 Months Ago
* Tuned execution order to avoid waiting for jobs the main thread. * Split TransformApplyJob into TransformGatherJob that only extracts matrices to reduce any locks we might place on transform data. * Added a ton more instrumentation to the CrudeProfiler to get more live information about Indirect Instancing, Debug Draw and also some global timings. * Made certain expensive debug features toggleable. * The debug overlay can now render “µ”.
9 Months Ago
Some fixes and cleanups for the Indirect Instancing debug overlay
10 Months Ago
rebase on main
10 Months Ago
Properly cull underground objects when Indirect Instancing is enabled
10 Months Ago
Fix culling volumes not working with Indirect Instancing by allowing to inject culling decisions from gameplay code. (pre_culled_mask)
10 Months Ago
Fix deep sea island terrain not rendering properly when Indirect Instancing is enabled by not instancing all MeshTerrains for now.
10 Months Ago
Fix command count mismatch error spam due to destroyed materials.
10 Months Ago
Fix a typo causing an access conflict between DamageTrackerRegionScanJob and TransformApplyJob
10 Months Ago
Fix object popping caused by orphaned motion list entries in multiple ways: * Remove seq_nums from the motion list just before they are unassigned. This piggy-backs off the existing remove_queue to guarantee container safety when objects are destroyed at inconvienient times. No need for a separate motion_stop_queue. * Store parent entity for every InstancedLODComponent. When objects are returned to the pool they are unparented first, but they still need to know who their parent was so they can properly remove their seq_nums from that entity. Bonus: Fix some NREs when Indirect Instancing is disabled in the editor.
10 Months Ago
rebase on main
10 Months Ago
Keep Indirect Instancing disabled by default (until rare wrong object bug is fixed)
10 Months Ago
rebase on main
10 Months Ago
* Improve job scheduling to make leaving the job phase more robust through loading screens * Fix NRE when trying to remove instances before Indirect Instancing was initialised