userFelixcancel

607 Commits over 457 Days - 0.06cph!

4 Hours Ago
merge from indirect_instancing
4 Hours Ago
Some fixes and cleanups for the Indirect Instancing debug overlay
Yesterday
merge from indirect_instancing
Yesterday
rebase on main
Yesterday
Properly cull underground objects when Indirect Instancing is enabled
Yesterday
Fix culling volumes not working with Indirect Instancing by allowing to inject culling decisions from gameplay code. (pre_culled_mask)
7 Days Ago
merge from indirect_instancing
7 Days Ago
Fix deep sea island terrain not rendering properly when Indirect Instancing is enabled by not instancing all MeshTerrains for now.
7 Days Ago
Fix command count mismatch error spam due to destroyed materials.
7 Days Ago
merge from indirect_instancing (exception fix)
7 Days Ago
Fix a typo causing an access conflict between DamageTrackerRegionScanJob and TransformApplyJob
7 Days Ago
merge from indirect_instancing
7 Days 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.
9 Days Ago
rebase on main
26 Days Ago
merge from indirect_instancing
26 Days Ago
Keep Indirect Instancing disabled by default (until rare wrong object bug is fixed)
26 Days Ago
rebase on main
26 Days 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
26 Days Ago
Remove unused field
27 Days Ago
Fix server build
27 Days Ago
rebase on main
27 Days Ago
* Made switching Indirect Instancing at runtime more robust * Prevent some other possible exceptions * Avoid some unnecessary calls to MotionList
27 Days Ago
* Renamed TransformMemory to MotionList (as it should be) * Use managed HashSet instead of NativeHashSet because there seems to be no performance benefit to using native at the moment. * Fixed exception caused by removing elements from the set while iterating
27 Days Ago
Use negative handles for fallback memory
27 Days Ago
Remove InstanceHandle and use a simple integer instead
27 Days Ago
* Added generic NativeMultiList to replace InstanceHandleList (WIP) * Store Transform.InstanceIDs (and actual nullable Transform references) in PerInstanceMemory, indexed by seq_num * Simplified MotionList add/removal procedures to HashSet operations * Cleared up function naming in BaseEntity.Client.Motion.cs * Consider all entities as a potential motion parent and utilise existing parent/child relations to call MotionStart / MotionStop * Removed IMotionParent interface because it caused more confusion than anything else * Correctly dispose of the hash set storing child instances when an entity is destroyed
29 Days Ago
(WIP) Large refactor: Make BaseEntity responsible for calling StartMotion / StopMotion with (potentially) a single array of numbers to mitigate spikes when large entities set into motion.
30 Days Ago
* Make instances identifiable by a single never changing integer * Speed up adding/removing instances by using various look up tables to find instances instead of staged linear searching
33 Days Ago
Convert seq_num uint → int
33 Days Ago
rebase on main
34 Days Ago
Enable Indirect Instancing by default
34 Days Ago
No longer restrict Indirect Instancing (`indirect_instancing.enabled`) to developer accounts. I'm looking at you, staging players. 👀
34 Days Ago
Allow Indirect Instancing to be toggled in-game any time (Also correctly applies config value when in editor now)
35 Days Ago
* Remove the need for HasValidMesh() on LOD components * Renamed a bunch of things for clarity
36 Days Ago
rebase on main
36 Days Ago
Disable Indirect Instancing by default to unblock editor issues (I'll be back)
36 Days Ago
Disable Indirect Instancing by default to unblock editor issues (I'll be back)
37 Days Ago
Remove wrong assertion
38 Days Ago
Remove wrong assertion
40 Days Ago
merge from indirect_instancing (for real this time)
40 Days Ago
merge from indirect_instancing
40 Days Ago
* Moved fallback bounds transformation to a job * Removed old fallback culling code
40 Days Ago
Cleanup: Remove old MotionList code
40 Days Ago
* Fixed objects in fallback renderer not updating correctly when in motion. * Added profiler markers for draw call submission of instanced and fallback renderers. * Fixed streaming_use_mesh_uv_distribution_metrics not actually doing anything.
41 Days Ago
Fix 2 NREs with Indirect Instancing enabled
41 Days Ago
* Convert INDIRECT_INSTANCING_ON to a global keyword because it kind of is global * Make sure INDIRECT_INSTANCING_ON is always defined in the GCINCLUDE section (Fixes shipping containers) * Allow changing indirect_instancing.enabled at any time in the Editor (FIxes entering play mode with it enabled)
42 Days Ago
Use LOD quality setting "Object Quality" in Indirect Instancing to more closely resemble the LOD switching behavior of the old system.
42 Days Ago
Try skipping the extra pass to remove null transforms for an extra 0.2 ms (toggleable via ConVar)
42 Days Ago
Perform application of the motion list transforms in a job for better performance
42 Days Ago
Merge from indirect_instancing (also force-disables it for non developers)