userJake_Richcancel

4,119 Commits over 1,219 Days - 0.14cph!

2 Years Ago
Merging rewrite back into global_networked_bases
2 Years Ago
Reconverted all building block prefabs & now all roofs work
2 Years Ago
Fixed converter not overwriting buildingblock prefabs when using converting tool
2 Years Ago
Reimplemented LOD level inside InstancedLODState config class
2 Years Ago
Fixed NativeArray of render data not being resized when the computebuffer is resized
2 Years Ago
Fix IndirectExtraArg being multiplied by 5, causing meshes to render on top of eachother
2 Years Ago
Fix typo causing distance culling to use fov scale instead of max distance (culling everything)
2 Years Ago
Fix & refactor cell removal code
2 Years Ago
More refactoring & fixes Fixed IndirectArgs buffer being set to Structured accidently (which silently fails)
2 Years Ago
Rewrote "MeshScheduler" into 5+ different classes and split responsibilities Replaced block allocator with fixed size cell allocator Refactored tons of code to make it readable, organized and reliable
2 Years Ago
Add `force_lod_level` convar to force the culling system to only accept certain LOD levels (and bypass culling for them) to narrow down why certain LODs are disappearing "randomly" Store LOD level of each mesh in `InstanceLODState` Still debugging mesh culling randomly breaking
2 Years Ago
Compile fix
2 Years Ago
Region out client analytics variables that are "assigned but never used" when compiling client
2 Years Ago
Move shadows to their own grids Distance cull both meshes & shadows Only frustum cull meshes
2 Years Ago
Fix `test_instancing_culling` spawning prefabs outside of the map and overloading the "out of map" grid Fix "outside of map" grid not having a gridId set and looking like grid #0 Refactor RendererJobData to store ShadowMode instead of "IsOnlyShadow" Refactor culling system to completely ignore shadows
2 Years Ago
Change InstancedScheduler script update order to near the end Count number of meshes & shadows separately Add number of rendered meshes, shadows & draw calls for instancing to `perf 8` Add average number of meshes & shadows drawn to client performance analytics Add `print_instanced_grid {id}` and `print_instanced_grids` to print meshes per grid for debugging
2 Years Ago
Add menu option for instanced rendering called "Building Distance" (it also handles cliffs but yea) Clamp instanced rendering distance from 500 - 2500 Take lower of draw distance vs instanced render distance when culling Run codegen to apply convar descriptions
2 Years Ago
Add description to all convars
2 Years Ago
Add clientside performance analytics for instanced rendering - culling time - draw calls - render distance - size of compute buffers & arrays - mesh count - prefab count - entity count
2 Years Ago
Add `shadow_culling` convar to toggle culling of shadows for instanced rendering Disable shadow culling by default
2 Years Ago
Fix meshes with skins registering a extra renderer
2 Years Ago
Add `instanced_memory_usage` command to print off size & memory usage of every array used for instanced rendering Remove some redundant convars
2 Years Ago
Add `--instanced-rendering` convar to turn instanced rendering on (if we need it default disabled)
2 Years Ago
Check if deathInfo.attackerName is null (no idea why this appeared on aux2 but need to fix to keep testing)
2 Years Ago
Cleanup culling code
2 Years Ago
Enable GPU instancing on brick roof material
2 Years Ago
Run Initialize() when leaving server to cleanup all arrays Cleanup code of all schedulers
2 Years Ago
Try ComputeBuffer.SetData() instead of ComputeBuffer.BeginWrite() when expanding the compute buffer
2 Years Ago
Fix MaterialPropertyBlocks not having new ComputeBuffers assigned when the ComputeBuffer is "resized"
2 Years Ago
More cleanup & hopefully fixes
2 Years Ago
Update global_networked_bases/2021
2 Years Ago
Cleanup
2 Years Ago
Fix stackoverflow from typo Fix setting DrawCallCount to material count instead of submesh count
2 Years Ago
Refactor & fix writing IndirectArgs
2 Years Ago
Refactor & fix initialization / cleanup of arrays + compute buffers Fix IndirectArgs not being rewritten after expanding the compute buffer Support renderers that have more submeshes than materials Remove redundant testing convars
2 Years Ago
Trying to fix errors that appear in CLIENT mode but not CLIENT + SERVER on craggy
2 Years Ago
Fix IndirectArgs ComputeBuffer not expanding because it is 5 uint each draw call
2 Years Ago
Merge from main -> global_networked_bases
2 Years Ago
Cherrypick 84979 (BeginWrite two new compute buffers)
2 Years Ago
Fix 2021 to use BeginWrite() & EndWrite() on the two new ComputeBuffers (IndirectArgs & InstanceOffsets)
2 Years Ago
Update global_networked_bases/2021
2 Years Ago
#SERVER compile fixes
2 Years Ago
Add `use_command_buffers` command to toggle between Graphics.DrawMeshInstancedIndirect() and CommandBuffers Can use convar at runtime to switch back and forfth Added manually submitting draw calls back as CommandBuffers broke lighting & were slower after first iteration
2 Years Ago
Finally fixed the rendering so opaque geometry & shadows are kept in separate command buffers... although I would need to add the shadow commandbuffer to each light now
2 Years Ago
Give name to the the instanced CommandBuffer & CommandBuffers created by `CommandBufferSystem` It now renders with the command buffer, just gotta figure out incorrect lighting, multiple meshes overlapping & lighting turning off every 1s
2 Years Ago
Submit DrawCalls via `CommandBuffer` instead of `Graphics.DrawMeshInstancedIndirect()` Hook `MainCamera.OnPreCull()` via a `InstancedCameraComponent` instead of static Action Change shaders to use a commandBuffer to get the start index of each drawcall instead of passing an index into each MaterialPropertyBlock (not completely done, more of a stash)
2 Years Ago
Remove instanced rendering from furnace & planters as they require an extra color to be passed in Some materials missed
2 Years Ago
Merge from main -> global_networked_bases
2 Years Ago
See if small tweak fixes "virtual mesh not found"
2 Years Ago
Enabling material instancing on a few electrical materials (not custom instancing)