branchrust_reboot/main/indirect_instancingcancel

194 Commits over 243 Days - 0.03cph!

46 Days Ago
fix native library issue
47 Days Ago
fix server build
47 Days Ago
Removed some leftover debug stuff
47 Days Ago
- MeshCull, MeshLOD and RendererLOD are now able to add their states to the instancing system themselves without the need for a RustRenderer. - Fully decoupled InstanceCreationInfo from *Renderer for more flexibility. - Added an `autoconnect` ConVar (editor only) to speed up debugging on external servers - Improved debugging by adding Robocop vision. New ConVar: indirect_instancing.debug - Added InstancedLODComponent to cover the instancing needs of MeshCull, MeshLOD and RendererLOD - Tools: Record unsupported materials during play mode so that they can be fixed later - Tools: More progress bars for long operations - InstancedDebugDraw: Fixed not updating properly due to missing damage tracking on the command buffer - Introduced WrappedRenderer to intercept modifications from other parts of the code. It works, but I'm probably not going to keep this. - Moved all the debug stuff to separate files - Fixed a == vs. = typo in SoundDefinition.AutoAssignAudioClips
50 Days Ago
Enable instancing on all supported materials
50 Days Ago
Enable Read/Write on all prefab meshes
50 Days Ago
Don't fail builds when file timestamps could not be set
50 Days Ago
Improve automated indirect instancing tools
50 Days Ago
Bring back compute changes
50 Days Ago
Bring back supported shader changes and includes
50 Days Ago
Bring back prefab changes
50 Days Ago
Revert execution order changes
50 Days Ago
Revert compute changes
50 Days Ago
Revert script changes
50 Days Ago
Revert prefab changes
50 Days Ago
Revert package changes
50 Days Ago
Revert platform changes
50 Days Ago
Revert changes to shader includes
50 Days Ago
Reverted changes to supported shaders
50 Days Ago
Revert changes to ProjectSettings
50 Days Ago
merge from main
51 Days Ago
Remove instancing support from all non-standard shaders
53 Days Ago
Some .FBX.meta I didn't catch because they were uppercase
53 Days Ago
Revert even more .fbx.meta and .mat files to the state they have on /main
53 Days Ago
Subtract all .mat changes to investigate artifacting issues
53 Days Ago
Subtract all .fbx.meta changes to investigate artifacting issues
53 Days Ago
Fixed InstancedDebugDraw instance and command buffers initially bound to zero
53 Days Ago
don't use sort jobs
53 Days Ago
fix server build
54 Days Ago
Revert ProjectSettings.asset
54 Days Ago
build fix
54 Days Ago
regenerate codegen
54 Days Ago
merge from main
55 Days Ago
- Removed indirect_instancing.enabled toggle (was broken) - Reverted all modifications to MeshLOD, MeshCull, RendererLOD, RendererBatch and other LODComponents
55 Days Ago
- Fixed and optimise debug diagnostics - Use an array instead of a dictionary to store RenderKeys - Added various toggles for controlling which parts of the system run during profiling
55 Days Ago
InstancedDebugDraw: Fix performance issue when re-adding instances each frame
2 Months Ago
Indirect instancing fixes: - Supported shaders are no longer determined at runtime, instead a list is supplied to the component on the main camera prefab. This fixes issues where instanceable objects would end up in the non-instanceable fallback renderer. - Add operations are no longer queued in order to return success/failure states immediately back to the caller. - Remove operations are now queued without relying on managed references, fixing various use-after-destroy issues. - Broadened the use of the InstanceCreationInfo struct to avoid fealing with so many function parameters. - Improved logging when instances can't be added (1) at all or (2) only in the non-instanced fallback renderer. - Fixed exceptions resulting from calling RecalculateUVDistributionMetric() after UploadMeshData()
2 Months Ago
Fixed removing the wrong instance when the swap-back-removal of another instance invalidated the indices by reintroducing instance sequence numbers, but slightly better.
2 Months Ago
Don't rely on managed references when removing instances, use InstanceHandle instead
2 Months Ago
Fix exceptions caused by removal of meshes with less materials than submeshes
2 Months Ago
merge from main
2 Months Ago
A week's worth of fixes for indirect: - Added a `spawnprefab` editor-only command that allows to spawn (and pre-process) any prefab for testing. - Moved indirect ConVar stuff to a proper indirect_instancing.cs - Temporarily removed Core/* shaders from the compatibility list because indirect support is unclear. - Revamped the indirect compatibility decision logic to be more granular and robust. - Fixed invisible models when a renderer in instanceable but none of its materials are. - Fixed NRE when encoundering null materials. - Added TryEnqueueAdd which gives feedback about when enqueing a renderer failed due to incompatibility. - Downgraded assertion exception when a shader wasn't found to just a warning. - Reworked RejectReason structure to a struct fully interoperable with bool. - RustRenderer now remembers original shadow casting modes so that they can be restored when indirect rendering is disabled. - Store errors reported by TryEnqueueAdd in RustRenderer for debug purposes. - Automatically disable RustRenderer if object is a shadow proxy. - Automatically disable RustRenderer if any submeshes are incompatible with either indirect or fallback rendering.
2 Months Ago
Fixed shader errors about missing implementations of vertInstancingSetup
2 Months Ago
merge from main
2 Months Ago
Fix construction guide not appearing
3 Months Ago
merge from main
3 Months Ago
Changed implementation to only render colour pass and leave shadow culling and rendering to Unity
3 Months Ago
Added some debug ConVars
3 Months Ago
Fixed various causes that could render meshes twice
3 Months Ago
Add queue system for adding/removing instances to prevent colliding with the jobs