userFelixcancel
branchrust_reboot/main/indirect_instancingcancel

465 Commits over 669 Days - 0.03cph!

10 Months Ago
Remove unused field
10 Months Ago
Fix server build
10 Months Ago
rebase on main
10 Months Ago
* Made switching Indirect Instancing at runtime more robust * Prevent some other possible exceptions * Avoid some unnecessary calls to MotionList
10 Months 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
10 Months Ago
Use negative handles for fallback memory
10 Months Ago
Remove InstanceHandle and use a simple integer instead
10 Months 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
10 Months 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.
10 Months 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
11 Months Ago
Convert seq_num uint → int
11 Months Ago
rebase on main
11 Months Ago
Enable Indirect Instancing by default
11 Months Ago
No longer restrict Indirect Instancing (`indirect_instancing.enabled`) to developer accounts. I'm looking at you, staging players. 👀
11 Months Ago
Allow Indirect Instancing to be toggled in-game any time (Also correctly applies config value when in editor now)
11 Months Ago
* Remove the need for HasValidMesh() on LOD components * Renamed a bunch of things for clarity
11 Months Ago
rebase on main
11 Months Ago
Disable Indirect Instancing by default to unblock editor issues (I'll be back)
11 Months Ago
Remove wrong assertion
11 Months Ago
merge from indirect_instancing
11 Months Ago
* Moved fallback bounds transformation to a job * Removed old fallback culling code
11 Months Ago
Cleanup: Remove old MotionList code
11 Months 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.
11 Months Ago
Fix 2 NREs with Indirect Instancing enabled
11 Months 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)
11 Months Ago
Use LOD quality setting "Object Quality" in Indirect Instancing to more closely resemble the LOD switching behavior of the old system.
11 Months Ago
Try skipping the extra pass to remove null transforms for an extra 0.2 ms (toggleable via ConVar)
11 Months Ago
Perform application of the motion list transforms in a job for better performance
11 Months Ago
Set new _INDIRECT_INSTANCING_ON keyword when Indirect Instancing is enabled
11 Months Ago
Mark all Indirect Instancing ConVars as DeveloperOnly. Don't include DeveloperOnly commands in autocomplete.
11 Months Ago
Merge from main (to pull in mac_foliage_tearing_fix)
11 Months Ago
Rebase on /main
11 Months Ago
* Fix randomly disappearing in-motion objects since switching to the new TransformMemory implementation. * Fix randomly disappearing stationary and in-motion objects in the deep sea. * Fix concurrent access exception when in-motion objects are destroyed.
11 Months Ago
Rebase on /main
11 Months Ago
add some more debug info to TransformMemory
11 Months Ago
Improve performance of instances in motion by about 3x by mirroring all swap and copy operations of instance memory into a separate structure, and using that to apply new transforms of instances in motion.
11 Months Ago
Enable 222 new materials for GPU instancing (If you conflict with this changeset, simply override these changes and manualle re-enable GPU instancing on the affected materials afterwards) [Part 7 of 7, because Plastic is a broken mess]
11 Months Ago
Enable 222 new materials for GPU instancing (If you conflict with this changeset, simply override these changes and manualle re-enable GPU instancing on the affected materials afterwards) [Part 6 of X, because Plastic is a broken mess]
11 Months Ago
Enable 222 new materials for GPU instancing (If you conflict with this changeset, simply override these changes and manualle re-enable GPU instancing on the affected materials afterwards) [Part 4 of X, because Plastic is a broken mess]
11 Months Ago
Enable 222 new materials for GPU instancing (If you conflict with this changeset, simply override these changes and manualle re-enable GPU instancing on the affected materials afterwards) [Part 5 of X, because Plastic is a broken mess]
11 Months Ago
Enable 222 new materials for GPU instancing (If you conflict with this changeset, simply override these changes and manualle re-enable GPU instancing on the affected materials afterwards) [Part 3 of X, because Plastic is a broken mess]
11 Months Ago
Enable 222 new materials for GPU instancing (If you conflict with this changeset, simply override these changes and manualle re-enable GPU instancing on the affected materials afterwards) [Part 2 of X, because Plastic is a broken mess]
11 Months Ago
Enable 222 new materials for GPU instancing (If you conflict with this changeset, simply override these changes and manualle re-enable GPU instancing on the affected materials afterwards) [Part 1 of X, because Plastic is a broken mess]
11 Months Ago
▇ ▊▍▆█▉▅ ▋▌ ▍▄▉▅▍
11 Months Ago
Fix wrong lighting in underground scenarios by issuing instanced draw calls earlier in frames where reflection are rendered.
11 Months Ago
Actually apply and respect render layers when instancing
11 Months Ago
Fix NRE when Indirect Instancing is disabled
11 Months Ago
Fix Indirect Instancing accidentally being enabled by default
11 Months Ago
▇ ▊▆▍ ▄▄▊▇▊▌ ▅▅▌▅▋
11 Months Ago
▅ ▋▆▋▉▇▅ ▆█ ▅▌▇▍▍