userDaniel Pcancel
branchrust_reboot/main/culling_falsepos_improvcancel

22 Commits over 30 Days - 0.03cph!

13 Days Ago
Update: replace editor GUIStyle with default one to allow culling.debugshowstats to work - remove UNITY_EDITOR defines Tests: built debug client standalone
14 Days Ago
Bugfix: ignore set calls if occlusionculling instance hasn't been created yet Tests: compiles
14 Days Ago
Merge: from main
14 Days Ago
Update: expose more of culling debug tools - DebugShowStats - same as PrintStats, but continuously rendered to screen - DebugDrawHiZMipChain - draw all depth mip levels on screen - DebugDrawHiZOverlay - overlay specific level of mipchain on the screen, -1 to disable Tests: used all on craggy
17 Days Ago
Merge: from main
17 Days Ago
Clean: get rid of OcclusionCulling.DebugFilter We already had DebugMask that represented exactly the same Tests: compiles
17 Days Ago
Update: expose more of OcclusionCulling debug - got rid of original culling.debug clientvar (superseded by debugmask which accepts a bitmask value) - added debugscreenbounds (shows screenspace bounds + resolved LOD of hiz chain) - added printstats Most of this was available in the editor, should make it easier to sus out the specific conditions of bugs Tests: used all on craggy
17 Days Ago
Update: add debugshowoccluderid to help with filtering to specific occluder Tests: used on Craggy to look at boxes
17 Days Ago
Update: couple more debug features for OcclusionCulling debug DebugLookingAt will try to resolve LODComponent (but our entity hierarchies are wild, so it fails frequently), DebugRange limits which occluders are debugged Tests: used both to target props on Craggy
18 Days Ago
Update(debug): allow to filter occlusion culling debug to just 1 specific instance via culling.debugid - added editor only way to copy id (need a way to do this in standalone) Tests: used it to isolate apartment corridor wall (still pants to use though, need something better)
18 Days Ago
Update(editor): occlusion hiz overlay - "auto-expose" depth overlay Original implementation made it very difficult to discern anything in enclosed spaces Tests: used it in apartments
18 Days Ago
Update(editor): use same color for lod level of occludee when rendering ss bounds - also added memoization of lod level Tests: none, trivial change
18 Days Ago
Update(editor): use different colors for visualizing occluidee screen-space bounds Red for dynamics, cyan for statics, purple for grid Tests: visualized swing - saw all 3 colors
18 Days Ago
Bugfix(editor): fix dynamic occludees rendering sphere in LS, instead of WS - use cached location to help detect slow updates to dynamic occludees Tests: visualized bounds of swing seats - they're no longer at origin
18 Days Ago
Merge: from main
19 Days Ago
Merge: from main
19 Days Ago
Merge: from main
19 Days Ago
Update: add visible count to occlusion debug output Tests: used it on craggy while tweaking extra lod steps
19 Days Ago
Merge: from main
20 Days Ago
20 Days Ago
Update: add ability to step through higher levels of mip chain to reconfirm visibility - controlled via culling.extralodsteps, default to 0 (same as before) Out HiZ downsampling filter erodes depth at edges of objects, so if objects picks a low mip, there's a good chance it won't see any occluding depth Tests: ran around apartments monument in editor with 0, 2 and 7. at 2 saved only 0.25% percent of drawcalls, but 7 can save up to 10% (will profile standalone later)
20 Days Ago
Update: draw picked hiz lod for occludees in occlusion debug Tests: used debug visualization in editor