branchrust_reboot/main/global_networked_bases/2021/multidrawcancel

26 Commits over 0 Days - ∞cph!

8 Months Ago
Subtract 86589 (mark every building mesh as read/write enabled)
8 Months Ago
Initialize & Dipose GeometryBuffer properly Initialize instancing system when opening a demo (because you don't connect to server) Add demo with fair amount of building blocks to test
8 Months Ago
Can specify normal rendering via GameSetup prefab in editor Ensure ConstructionPlanner doesn't throw errors when instanced rendering is distanced via startup parameter
8 Months Ago
Fix material blocks still rebuilding every frame Add some profiler samples Enable shader keywords once per frame instead of once per draw call
8 Months Ago
Remove code that assigns material blocks every frame (good for testing, not for performance) Only update material blocks when buffers have changed
8 Months Ago
Move from a ComputeBuffer for each type of vertex attribute to a single ComputeBuffer for all vertex data in a single struct Move code that copies mesh to ComputeBuffer into GeometryBuffer.cs Additional methods in GPUBuffer wrapper
8 Months Ago
Enable procedural instancing on blend shader
8 Months Ago
Log error when mesh used for instancing doesn't have read/write enabled Ensure every prefab for instancing is warmed up in the editor
8 Months Ago
Mark every single building block mesh as read/write enable (NOTE: this cannot be merged to 2019!)
8 Months Ago
Fix start vertex of multidraw being incorrect Some cleanup
8 Months Ago
Show draw call count with multidraw in perf 7 properly Move the temp manually assigning of computebuffers every frame above the loop that skips values
8 Months Ago
Fix mutlidraw count not being reset when new meshes are added
8 Months Ago
Ensure that non-multidraw instanced rendering still works to compare & see what is broken
8 Months Ago
Add all other mesh data to buffers & ensure they are assigned inside the shader: all uvs, normals, tangents, colors Ensure all buffers are diposed
8 Months Ago
Fix draw calls so uvs at least work Add MaterialCache so we can enable `RUST_PROCEDURAL_INSTANCING` on materials without modifying the source materials in the editor Various fixes
8 Months Ago
Add empty UVs for meshes without UVs (shadows) so vertexID always references the correct UVs Try to setup shadows with procedural rendering but it has shader error
8 Months Ago
Rearrange some classes around Store UVs in compute buffer (but they don't exactly work)
8 Months Ago
Make a `ProceduralSetup( VertexInput )` method that gets put before `InstancedSetup()` in the shader
8 Months Ago
Only enable procedural instancing keyword on materials used with instancing Fix multi compile in the wrong place in the shader Fix instancing keywords not being present in the instanced rendering method "Clean" up the shader a bit
8 Months Ago
Fix shader for procedural rendering, verticies and indicies seem right now
8 Months Ago
Latest changes
8 Months Ago
Change Vertex & Index buffer to StructuredBuffer type Use global shader keyword `RUST_PROCEDURAL_INSTANCING` to enable procedural rendering Apply procedural rendering to UnityStandardCore deferred shader
8 Months Ago
Change Submesh info from List to Array
8 Months Ago
Fix two separate GeometryBuffers created
8 Months Ago
Keep geometrybuffers in separate class Fixes
8 Months Ago
Add `UnityIndirect.cginc` Start getting code to support "multidraw" to reduce drawcalls Store verticies and indicies in GraphicsBuffer and use `Graphics.RenderPrimitiveIndexedIndirect()` Group & batch draw calls that have the same material + shadow mode via `DrawCallKey` struct