389 Commits over 304 Days - 0.05cph!
Fix class layout build error
Fix class layout build error
Set Read/Write and GPU instancing, fix issues with MeshCull, fix server build
Found another double rendering issue in MeshCull
Set GPU instancing on materials
Enable Read/Write for nature assets
(Test) set all meshes isReadable=0
(Test) set all meshes isReadable=0
Subtract mesh and material changes
work around unity_BaseCommandID not being set
work around unity_BaseCommandID not being set
Fix build regarding AssetDatabase
Fix build regarding AssetDatabase
Fix build error about missing TerrainTools
Fix build error about missing TerrainTools
Implement indirect instancing without requiring monster meshes
Set correct stencil states in all sub shaders that are used by indirect instancing in order to emulate what Unity normally does during the GBuffer pass
Implement indirect instancing without requiring monster meshes:
- Use a command buffer to submit indirect draw calls referring to individual meshes
- Monster meshes are disabled by default
- Mesh Read/Write is no longer required
- Should reclaim ~3 GB of VRAM and RAM
- Calculate UV distribution metrics based on individual meshes rather than monster meshes
Instancing shaders now always access the IndirectDrawIndexedArgs buffer in order to retrieve the startInstance parameter which is no longer passed to Unity.
MegaMesh approach (1+2) WIP
Added debug functions to get a list of the largest meshes in VRAM and a counter to keep track of transparent calls in indirect instancing.
Add a function to estimate memory usage to the batching system
Move EstimateMeshBytes to an extension.
Allow drawing instances without making use of monster meshes.
Allow drawing instances without making use of monster meshes.
- Added a crude way to estimate mesh VRAM and RAM usage
- Added a command to find duplicate meshes in the instancing system
Added a crude profiler that works in release builds
Added a crude profiler that works in release builds
More toggleables: merge_damage (fixed), motion_list, remove_queue
Split MotionList in separate file
- fixed mip level calculation errors for fallback objects
- fixed fallback objects not properly updating when in motion
- fixed mip level calculation errors for fallback objects
- fixed fallback objects not properly updating when in motion
Implement texture streaming support for the instanced fallback renderer
Implement texture streaming support for the instanced fallback renderer
Remove CombineTrivialDistancesJob
Fix NRE when trying to move an instance that previously failed the instancing checks
Prepare models and materials for instancing (once again)
Revert materials and models
Implemented support for instances in motion and other fixes