userFelixcancel
reporust_rebootcancel

612 Commits over 457 Days - 0.06cph!

2 Months Ago
* Store local bounds so that new world bounds can be derived when an instance moves * Emit a warning when a unit cube is assumed for bounds * Don't actually try calculating worldBounds for Unity, it gets really messy when things move around * Use the new local bounds for the debug overlay as well * Add some null checks in MotionList * Add BroadcastTransformUpdate() to force-update the instance transform regardless of motion state
2 Months Ago
Add the ability to mark ConVars as "DeveloperOnly" (for graphics debugging stuff)
2 Months Ago
Set minimum mip level instead of requested mip level to avoid overwriting results of Unity's streaming system.
2 Months Ago
Remove leftover debug message from ElectricWindmill
2 Months Ago
Remove leftover debug message from ElectricWindmill
2 Months Ago
Gate some Indirect Instancing ConVars behind ClientAdmin rather than DEBUG.
2 Months Ago
Gate some Indirect Instancing ConVars behind ClientAdmin rather than DEBUG.
2 Months Ago
Merge latest Indirect Instancing changes. This is a big one, but it's still disabled by default.
2 Months Ago
CodeGen
2 Months Ago
Ensure once again that Indirect Instancing is disabled by default and advanced debug ConVars are only available in debug builds.
2 Months Ago
Rebase on /main
2 Months Ago
Fixed initial door states after load by finalising the transform on StopMotion()
2 Months Ago
Fix server build
2 Months Ago
Remove IBatchingToggle from InstancedLODComponent
2 Months Ago
Fix electric windmill animation
2 Months Ago
Fix wind turbine animation by assuming perpetual motion when there is an active animator.
2 Months Ago
Don't use `cachedTransform` for instancing. Fixes misplaced condional models, wind turbine nacelles and probably many other "slightly offset" bugs.
2 Months Ago
Use a better way to toggle objects in motion. This fixes "stuck" objects and the initial state of doors but currently breaks everything else that is not a door.
2 Months Ago
Set default execution order of InvokeHandler to (hopefully) work with Indirect Instancing
2 Months Ago
Rebase on /main
3 Months Ago
Disable terrain culling by default
3 Months Ago
3 Months Ago
Add `indirect_instancing.use_instance_mask` for in-build debugging purposes
3 Months Ago
- Fix inaccuracies in terrain culling raycast - Fix terrain culling issues around terrain holes - Add generic SIMD vector types `float8x3` and `int8x3` for terrain culling and future use - Make the first culling layer (LOD/Distance) respect the instance occupation mask - Add `terrain.debug` command to visualise how the culling system sees the terrain height map - Fine tune `tc_max_iterations` to 512
3 Months Ago
- Fix random low res mip levels by using NativeParallelMultiHashMap instead of FixedList to avoid running out of space. - Fix dropping off-screen instances to low res mip levels by considering all instances for mip level calculations instead of just culling surviors. The old off-screen behavior can be examined by setting `indirect_instancing.streaming_use_all_instances 0`. - Mitigate dropping Unity renderers to low res mip levels when Unity's and Indirect Instancing streaming systems disagree by calling ClearRequestedMipmapLevel() when we have determined mip 7.
3 Months Ago
Fix floating point overlow in mip level calculation
3 Months Ago
More debugging ConVars
3 Months Ago
- Clean up texture streaming jobs - Fix wrong camera position in Streaming_FallbackSquaredDistanceJob - Add various debugging ConVars - Add "Indirect Instancing" UI Indicator
3 Months Ago
Experimental frame synchronisation ConVars
3 Months Ago
Fix monster mesh rendering issue
3 Months Ago
Re-apply CodeGen
3 Months Ago
Reset some CodeGen to their state on /main
3 Months Ago
CodeGen
3 Months Ago
Rebase on /main
3 Months Ago
Rebase on /main
3 Months Ago
- Create buffers with correct flags according to `buffer_upload_mode` - Set default buffer upload mode to be "indirect" (1) - Disallow changing `buffer_upload_mode` during gameplay
3 Months Ago
un-gate indirect instancing for testing purposes
3 Months Ago
Fix build by scrapping the function pointer idea.
3 Months Ago
Fix typo
3 Months Ago
- Fix rendering issues due to various jobs executing for command indices that are no longer in use. - Fix broken debug draw when damage region bitscan job is active. - Split `surviving_command_counts` into `command_counts_after_culling` and `command_counts_after_reordering` for clarity. - Create a universal IsCallVisible() function instead of the mess we had before
3 Months Ago
- Rewrite the buffer update logic to ensure a direct update only happens once per frame to make DX11 happy. - Always update the entire buffer to make greedy GPU drivers happy. - Add IGraphicsBuffer wrapper because Unity didn't do it so I can finally stop copy/pasting everything. - Use a function pointer (👻) in damage region processing for similar reasions. - Unlock the arrays in Update in case OnPreCull wasn't called. - New debugging ConVars: `reorder_instances_job`, `damage_bitscan_job` and `buffer_upload_mode`
3 Months 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.
3 Months Ago
Some cleanups
3 Months Ago
Fix burst compile issues by bringing back `DamageRegion` struct
3 Months Ago
Jobify the damage region scanning for instance data
3 Months Ago
First implementation of hybrid monster meshes
3 Months Ago
Merge from /indirect_instancing/layers
4 Months Ago
Slightly optimise command reordering
4 Months Ago
Jobified instance reordering
4 Months Ago
▅ ▇▅▊█▋▉▌▆ ▌▄██▇▌▇▍ ▆▄▊█▍▍▉▍▉▌ ▅▆▉▇▌██ ▆▆ █▋▄▇▍ ▍▊▊▋▄▍ ▊▅▄▄▄