userFelixcancel
reporust_rebootcancel

921 Commits over 730 Days - 0.05cph!

1 Year Ago
A whole marathon of Indirect Instancing changes: - Schedule all jobs at the beginning of LateUpdate() for better worker utilisation. - Further improve scheduling behavior by modeling actual dependencies between jobs using writes_to_* and reads_from_* handles. - Allow instance reordering and command aggregation to run in paralell to give even more flexibility to the scheduler. - Run the debug overlay (where possible) in parallel with the jobs to improve performance - Avoid garbage allocation when scheduling the frustum culling job. (GeometryUtility.CalculateFrustumPlanes) - Schedule all jobs using ScheduleByRef. - Correctly set `[ReadOnly]` and `readonly` for all jobs to help Burst as much as possible. - Make batch size tunable: `indirect_instancing.batches_per_worker` - Add somewhat automatic instrumentation to CrudeProfiler via `using` statements. - Add ProfilerMarker to mimic what Unity 6 is doing with `using` statements. (Still need to verify it this compiles out properly.) - Add more profiler instrumentation. - Rename a ton of things for clarity. - Remove CommandBuffer. We won't need it where we're going.
1 Year Ago
Some cleanups
1 Year Ago
Fix burst compile issues by bringing back `DamageRegion` struct
1 Year Ago
Jobify the damage region scanning for instance data
1 Year Ago
First implementation of hybrid monster meshes
1 Year Ago
Merge from /indirect_instancing/layers
1 Year Ago
Slightly optimise command reordering
1 Year Ago
Jobified instance reordering
1 Year Ago
▅ ▇▅▊█▋▉▌▆ ▌▄██▇▌▇▍ ▆▄▊█▍▍▉▍▉▌ ▅▆▉▇▌██ ▆▆ █▋▄▇▍ ▍▊▊▋▄▍ ▊▅▄▄▄
1 Year Ago
Merge bitmapped_damage_tracking → indirect_instancing
1 Year Ago
Implement bitmapped damage tracking
1 Year Ago
Rebase on current /indirect_instancing
1 Year Ago
Clean up some failed experiments
1 Year Ago
Fix nothing rendering for real this time.
1 Year Ago
Fix nothing actually rendering with new Graphics.DrawMeshInstancedIndirect based draw call submission
1 Year Ago
Fix NRE in Indirect Instancing debug overlay
1 Year Ago
Add agressive optimisation attributes to the hot path of Indirect Instancing.
1 Year Ago
Rebase on /main (save 271)
1 Year Ago
Regenerate ConVars and force bounds to be always huge (experiment)
1 Year Ago
Add a third submission mode to indirect instancing which works through `Graphics.DrawMeshInstancedIndirect` and avoids copying to a command buffer. Enable `indirect_instancing.command_buffer` to switch back to the old way.
1 Year Ago
Finalise SIMD terrain culling implementation: - Fix oscillation/flicker bug by tracking individual ray progress properly. - Adjust step size dynamically with altitude to reduce iterations. - Limit overall iterations to ConVar `indirect_instancing.tc_max_iterations`. - Ignore rays to instances that have been culled in a previous step.
1 Year Ago
Add more debug output to the indirect_instancing.debug overlay
1 Year Ago
Add new SIMD terrain culling implementation (WIP) providing ~3x speedup (up to 30x in certain cases)
1 Year Ago
Only allow StartMotion() when IsDynamic is set
1 Year Ago
Rebase on /main
1 Year Ago
Speed up motion list execution 30x by caching matrices and checking them for changes.
1 Year Ago
Rebase on /main
1 Year Ago
Rebase on /main
1 Year Ago
Regenerate ConsoleSystem.cs
1 Year Ago
Regenerate ConsoleSystem.cs
1 Year Ago
Merge other fixes from /indirect_instancing
1 Year Ago
Rebase on /main
1 Year Ago
Merge build fix from /indirect_instancing_fixes
1 Year Ago
Restore constant that I removed because I was an idiot.
1 Year Ago
Merge from /indirect_instancing_fixes
1 Year Ago
Rebase on /main
1 Year Ago
Fix multiple issues with LOD bounds/distance calculations: - Never return zero-bounds for anything, try multiple things and fall back to 1 m³ as a last resort. - Always use bounds (and center) of LOD0 for consensus between LOD states. - Fix fallback renderer using transform position instead of bounds center for distance calculations.
1 Year Ago
Fix Radtown sign by manually disabling mipmap streaming.
1 Year Ago
Properly fix brightness flicker by using a GlobalKeyword instead of a string
1 Year Ago
Add preliminary support for layers to indirect instancing
1 Year Ago
Fixed brightness flickering on indirect instancing objects when moving camera (inefficient variant)
1 Year Ago
Completely hide shadow-proxy states affected by agressiveShadowLOD to improve performance
1 Year Ago
Completely hide shadow-proxy states affected by agressiveShadowLOD to improve performance
1 Year Ago
Rebase on /main
1 Year Ago
Remove merging of damaged regions as the sorting and merging was taking more time than it saved in some situations. If frequent buffer updates continue to be a problem, /indirect_instancing/bitmapped_damage_tracking should fix that.
1 Year Ago
Add ConcurrentBoolArray as a simpler (but more wasteful) form of ConcurrentBitArray to get things going quicker. Add a function to find contiguous regions of values efficiently.
1 Year Ago
Only run terrain culling when it's actually worth it (when camera is above some but not all terrain)
1 Year Ago
Introduce WIP version of ConcurrentBitArray for bitmapped damage tracking
1 Year Ago
Restrict Indirect Instancing ConVars to debug builds only
1 Year Ago
Undo: Enable more materials for instancing that weren't caught previously because of a buggy automation in indirect instancing tools