branchrust_reboot/main/indirect_instancingcancel

432 Commits over 516 Days - 0.03cph!

1 Year Ago
Revert compute changes
1 Year Ago
Revert script changes
1 Year Ago
Revert prefab changes
1 Year Ago
Revert package changes
1 Year Ago
Revert platform changes
1 Year Ago
Revert changes to shader includes
1 Year Ago
Reverted changes to supported shaders
1 Year Ago
Revert changes to ProjectSettings
1 Year Ago
merge from main
1 Year Ago
Remove instancing support from all non-standard shaders
1 Year Ago
Some .FBX.meta I didn't catch because they were uppercase
1 Year Ago
Revert even more .fbx.meta and .mat files to the state they have on /main
1 Year Ago
Subtract all .mat changes to investigate artifacting issues
1 Year Ago
Subtract all .fbx.meta changes to investigate artifacting issues
1 Year Ago
Fixed InstancedDebugDraw instance and command buffers initially bound to zero
1 Year Ago
don't use sort jobs
1 Year Ago
fix server build
1 Year Ago
Revert ProjectSettings.asset
1 Year Ago
build fix
1 Year Ago
regenerate codegen
1 Year Ago
merge from main
1 Year Ago
- Removed indirect_instancing.enabled toggle (was broken) - Reverted all modifications to MeshLOD, MeshCull, RendererLOD, RendererBatch and other LODComponents
1 Year 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
1 Year Ago
InstancedDebugDraw: Fix performance issue when re-adding instances each frame
1 Year 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()
1 Year 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.
1 Year Ago
Don't rely on managed references when removing instances, use InstanceHandle instead
1 Year Ago
Fix exceptions caused by removal of meshes with less materials than submeshes
1 Year Ago
merge from main
1 Year 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.
1 Year Ago
Fixed shader errors about missing implementations of vertInstancingSetup
1 Year Ago
merge from main
1 Year Ago
Fix construction guide not appearing
1 Year Ago
merge from main
1 Year Ago
Changed implementation to only render colour pass and leave shadow culling and rendering to Unity
1 Year Ago
Added some debug ConVars
1 Year Ago
Fixed various causes that could render meshes twice
1 Year Ago
Add queue system for adding/removing instances to prevent colliding with the jobs
1 Year Ago
Implement a fallback renderer for non-instanced draw calls based on Graphics.RenderMesh()
1 Year Ago
Disable only unsupported submeshes in MeshRenderers, not all of them
1 Year Ago
Re-enable texture streaming jobs
1 Year Ago
* Restore damage tracking for command and instance buffers * Skip RemoveDestroyedMeshes() as it doesn't seem to be needed anymore and it was taking well over 3 ms
1 Year Ago
Improve performance in the hierarchical culling job by reordering the culling tests by cost
1 Year Ago
Fix wrong index calculation in ArrayEx.RemoveAtNoResize()
1 Year Ago
Improve handling of null meshes in RustRenderer auto conversion
1 Year Ago
Grow block allocations exponentially because linearily wastes more buffer space.
1 Year Ago
Implement ArrayEx.RemoveAt* utility functions
1 Year Ago
- Render all instanceable submeshes instead of rejecting the whole mesh - Use real LOD thresholds instead of 5 meter increments
1 Year Ago
- Disable LOD fading to be reintroduced when LOD switching is stable - Pass final Mesh instead of MeshFilter to instancing system to allow assets based on MeshLOD to work properly - Restructure RustRenderer for more robust automatic conversion - Fix invisible LODs by merging duplicate entries referring to the same Mesh
1 Year Ago
Fix frustum culling by skipping damage tracking as a temporary workaround