userDaniel Pcancel
reporust_rebootcancel

2,877 Commits over 730 Days - 0.16cph!

Today
Bugfix: ensure rendering camera is facing same direction as apt cctv camera Tests: rented 602, looked into it - more stuff rendered
Today
Merge: from main
Today
Clean: get rid of OcclusionCulling.DebugFilter We already had DebugMask that represented exactly the same Tests: compiles
Today
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
Today
Update: add debugshowoccluderid to help with filtering to specific occluder Tests: used on Craggy to look at boxes
Today
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
Yesterday
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)
Yesterday
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
Yesterday
Update(editor): use same color for lod level of occludee when rendering ss bounds - also added memoization of lod level Tests: none, trivial change
Yesterday
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
Yesterday
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
Yesterday
Merge: from main
Yesterday
Remerge of before due to submit race
Yesterday
Merge: from renderbatch_meshlod_improv - Update: reimplementation of previous bugfix to be cheaper Tests: pasted a boat, flew out and back - props were there
Yesterday
Optim: simplify prev bugfix, don't early initialize LOD managers Tests: pasted a boat, flew out and back - props were there
Yesterday
Bugfix: from renderbatch_meshlod_improv - Bugfix for disappearing props on boats Tests: paste a boat, flew out of range and back - all props present
Yesterday
Bugfix: fix initialization race of LODComponent on whether it's dynamic or not - Now both ToggleDynamic and OnEnable can initialize managers+occlusion When loading from network snapshot, it was toggling dynamic state before it initialized managers, leaving it in a half-dynamic, half-static state Tests: spawned a copy paste boat, all entities were present. Flew out of net range and back - all's there
Yesterday
Merge: from main
2 Days Ago
Merge: from furniture_occlusion_fix - Reimplement previous bugfix to retain furniture culling Tests: rendeted and tried to run in and out, abused noclip, triggered bug once
2 Days Ago
Bugfix: restore furniture occlusion culling, check both occlusion state and appt flag Tests: rented 601, ran in and out, noclipped a bunch - was able to trigger it only once(abusing noclip) instead of constantly, should be better
2 Days Ago
Merge: from main
3 Days Ago
Merge: from main
3 Days Ago
Merge: from renderbatch_meshlod_improv - Bugfix for basement doors not rendering Tests: booted into apartments island, checked all floors for doors not rendering. Checked room 101 - stuff was rendering
3 Days Ago
Bugfix: mark appartment doors a/b/c as dynamic - apartments S2P Since they move, they should've been dynamic, but it also causes them to be refreshed and have up to date occlusion state (but no idea why we need this - will chase up later) Tests: booted into apartments island, checked all floors for doors not rendering. Checekd room 101 - stuff was rendering
3 Days Ago
Update: add visible count to occlusion debug output Tests: used it on craggy while tweaking extra lod steps
3 Days Ago
Merge: from main
3 Days Ago
Merge: from renderbatch_meshlod_improv - Bugfix: opening doors should no longer cause them/others to disappear Tests: pasted many doors paste and opened door, flew back and to - all was in place
3 Days Ago
Bugfix: fix MeshLOD never unregistering from occlusion after animating - when batching gets toggled, notify batching handlers - MeshLOD will toggle culling on notif Tests: paste of many doors, opened couple doors and flew far/close - no more missing meshes
3 Days Ago
Bugfix(editor): add ResetStaticFields to OcclusionCulling - codegen Tests: spawned copypaste, restarted game in editor - print out doesn't mention lingering renderers
3 Days Ago
Merge: from main
3 Days Ago
4 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)
4 Days Ago
Update: draw picked hiz lod for occludees in occlusion debug Tests: used debug visualization in editor
4 Days Ago
Bugfix: add using on actionResult to avoid leaking Tests: none, trivial change
4 Days Ago
Merge: from jobs3_as_default - Update: UsePlayerJobs is set to 3 by default Tests: booted craggy and verified server var
4 Days Ago
Update: default UsePlayerUpdateJobs to 3 - codegen Tests: booted craggy, console returned 3
5 Days Ago
Merge: from renderbatch_meshlod_improv - Optim: allow culling to work on MeshLods if they have invalid RenderBatch setups - Optim: Avoid creating batches-of-1-mesh, as that inhibits Unity batching Tests: ran around apartment complex, didn't see rendering artifacts. compared standalone builds, shows 20% fps improvement on my setup
5 Days Ago
Merge: from main
5 Days Ago
Clean: add a comment Tests: none, trivial change
5 Days Ago
Optim: permit MeshLods to use occlusion culling if it has an invalid RendererBatch Taken from 156029. Saves 30% of drawcalls in all 5 test cases, 20% of avg fps improvement in editor(will test standalone later) Tests: profiled 5 test cases, flew around keeping an eye out on weird rendering
5 Days Ago
Optim: don't create procedural batch meshes if they only contain one input mesh This inhibits unity's batching via instancing. In 2 out of 5 scenarios saves 16% of draw calls/~1ms avg in editor Tests: monument island with appts and disabled world prefabs, tleeported to 5 locations and inspected profiler stats
9 Days Ago
Clean(editor): get rid of if bypass for drawing LightOccludee gizmos
9 Days Ago
Optim: LightOccludee - use a smaller occlusion sphere for spotlights with angle < 120deg - updated editor gizmo vizualization to run without starting (still needs sticky gizmos) Tests: booted on appt, went to roof and looked up, penthouse appt lights were culled. Ran around - everything looked okay, no popin
10 Days Ago
Update(editor): change window title label for MotionVectorsChecker Tests: none, trivial change
10 Days Ago
New(editor): MotionVectorsChecker - categorizes all renderers by motion vector mode Can be found at "Tools/Find/List Motion Vector generators" Tests: looked at appt monument - almost everything has per-object mode
10 Days Ago
New(editor): CulledMeshesChecker - finds all meshes without some sort of culling setup Can be found in "Tools/Find/Meshes without Occlusion setups". Tests: ran the tool on appt monument, found ~360 issues
10 Days Ago
New(editor): CulledLightsChecker, reports lights that don't have a culling setup Inspired by ShadowProxyChecker. Can be found in Tools/Find/Lights without Occlusion setups. Tests: Used it to inspect the appt scene
11 Days Ago
Merge: from unity_frame_dump - New(editor): frame debugger dump utility(https://github.com/sputnicyoji/unity-frame-dump) to help analyze what is rendered Tests: used it to dump out a couple passes
11 Days Ago
Update(editor): move the exporter to Window/Analysis We've got too much in Tools Tests: editor compiles
11 Days Ago
New(editor): import and change https://github.com/sputnicyoji/unity-frame-dump - Changed full export to run on the provided user range - added stop full export that still emits the resulting json instead of aborting - Added license Tests: exported a frame from standalone client