branchrust_reboot/main/global_networked_bases/2021/multidrawcancel

26 Commits over 0 Days - ∞cph!

2 Years Ago
Subtract 86589 (mark every building mesh as read/write enabled)
2 Years 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
2 Years Ago
Can specify normal rendering via GameSetup prefab in editor Ensure ConstructionPlanner doesn't throw errors when instanced rendering is distanced via startup parameter
2 Years Ago
Fix material blocks still rebuilding every frame Add some profiler samples Enable shader keywords once per frame instead of once per draw call
2 Years Ago
Remove code that assigns material blocks every frame (good for testing, not for performance) Only update material blocks when buffers have changed
2 Years 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
2 Years Ago
Enable procedural instancing on blend shader
2 Years 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
2 Years Ago
Mark every single building block mesh as read/write enable (NOTE: this cannot be merged to 2019!)
2 Years Ago
Fix start vertex of multidraw being incorrect Some cleanup
2 Years 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
2 Years Ago
Fix mutlidraw count not being reset when new meshes are added
2 Years Ago
Ensure that non-multidraw instanced rendering still works to compare & see what is broken
2 Years 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
2 Years 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
2 Years 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
2 Years Ago
Rearrange some classes around Store UVs in compute buffer (but they don't exactly work)
2 Years Ago
Make a `ProceduralSetup( VertexInput )` method that gets put before `InstancedSetup()` in the shader
2 Years 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
2 Years Ago
Fix shader for procedural rendering, verticies and indicies seem right now
2 Years Ago
Latest changes
2 Years 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
2 Years Ago
Change Submesh info from List to Array
2 Years Ago
Fix two separate GeometryBuffers created
2 Years Ago
Keep geometrybuffers in separate class Fixes
2 Years 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