668 Commits over 516 Days - 0.05cph!
Indirect instancing fixes:
- Fixed shader compilation error (again)
- Fixed infinite loop condition causing application freeze
- Fixed colour buffer not being applied due to wrong type causing black building parts
- Fixed non-optimized instance buffer updates
- Fixed off-by-one bug preventing the very first building part from being rendered
- Fixed NullReferenceException when attempting to remove a renderer without a material
Fixed missing namespace error in server build
/main/indirect_instancing:
Check if there is an instance of the indirect instancing component because apparently it's possible that we add/remove instances when there isn't an active camera.
Indirect instancing:
- Prevent NullReferenceException when attempting to remove instances without a MeshFilter component
- Fixed shader compilation error in the shadow pass
- Surround instancing code with `#ifdef CLIENT` for cleaner server builds
Added support for layers and per-instance colors to the indirect instanced renderer
Indirect Instancing:
- Remove delegate callbacks to avoid allocations at all costs
- Lots of clean-up / Removed some ugly hacks
- Use proper namespace namespaces
- Use a camera component for proper resource management
- Prefix all profiler regions with "Indirect." for an easy overview
Remove the massive lump of disabled code I forgot to delete
Implement indirect instanced rendering system
Enabled instancing on all materials.
Un-check Read/Write on all meshes
Added "Unmark Readable" Tool to remove Read/Write from meshes
Fixed instancing to work with non-read-write meshes
Merge /command_buffer_gc_fix to /main - Fix allocation of 62 bytes every frame
Merge from /main to continue old work