branchrust_reboot/main/foliage_instancingcancel

74 Commits over 151 Days - 0.02cph!

2 Days Ago
Merge from main
3 Days Ago
Remove unneeded buffer flag
3 Days Ago
Fix alignment issues with indirect args on different devices
4 Days Ago
Correct invalidation offset calculation error
5 Days Ago
Fix spawn issues by stopping invalidation while still computing cells
5 Days Ago
Clear placement list on destroy
5 Days Ago
Handle when no foliage placements are created
6 Days Ago
Add check for AsyncGPUReadback support
6 Days Ago
Merge from main
6 Days Ago
Fix on destroy issue with foliage grid
6 Days Ago
Remove unused variables
6 Days Ago
Also fix invalidate cell blocks step for negative coords
6 Days Ago
Fix compute cell block issues when using negative coords
9 Days Ago
Fix burst compile error, change position xz to floats to fix issues on larger maps
9 Days Ago
Fix compile issue, correct instanceID for vulkan
9 Days Ago
Merge from main
10 Days Ago
Put debug code behind conditionals, disable primitive rendering option, instancing now on by default, dispose all buffers on destroy, move buffers init to after all placements have been added to list, revert sections to main where possible, remove opt vertex macros and noise gen compute.
10 Days Ago
Merge from main
10 Days Ago
Fix possible inconsistent RNG placements, use minimum radius to avoid noticeable culling with shadows, increase cell plane test bias to compensate
11 Days Ago
Add vertex color to binned vertex data; fixing wind and displacement parameters
12 Days Ago
Track compute blocks instead of cells in wrapping grid update; fixes case where invalid cells were not being updated when moving in certain patterns, fix WrapIndex function for all cases
16 Days Ago
Use terrain normal map instead of deriving from the height map for better quality on steep edges, more accurate grass distance based cell count calculation
16 Days Ago
Recompute cells when texture mipmap limit is changed, fix underwater foliage by calculating min max heights in cells, and improve debug view.
17 Days Ago
Revert changes to terrain maps, fix inaccurate heights by setting ignoreMipmapLimit on heightmap
17 Days Ago
Track total possible instance count and recreate buffer if required
17 Days Ago
Merge from main
18 Days Ago
Handle AsyncGPUReadback data in a job, remove unused grid class
20 Days Ago
More clean up, primitive rendering improvements using the vertex buffer instead of a structured buffer, fix issue incorrectly limiting wrapping grid, error when placement counts don't match, integrate with Jungle biome, compare triangle counts when binning meshes to avoid false positives, better toggling between instancing for performance comparisons.
26 Days Ago
Fix corrupted file
26 Days Ago
Primitive indexed indirect render implementation for single material
30 Days Ago
Fix foliage shader merge issue. Adjust placement count.
30 Days Ago
Merge from main
30 Days Ago
Big code clean up and mark up. GPU readback to job wip.
31 Days Ago
Merge from main
32 Days Ago
Better switching between instancing on/off, and more clean up
33 Days Ago
Merge from main
33 Days Ago
Clean up no longer used instancing code, add grass instancing convar to enable instancing, fix incorrect placement IDs, add small bias to cell box/plane check to avoid false/edge case negatives
37 Days Ago
Improve foliage cell culling with heights, allowing proper camera plane culling using AABB bounds check. Now using a fixed bounds around camera based on grass distance where cells will be culled and bounds shrinked for the compute pass.
40 Days Ago
Improve cell culling on CPU using plane distances with approx cell radius as threshold, distance culling on GPU, better max distance calculation, improve debug view.
45 Days Ago
Put foliage cell collect and command buffer creation in job, split render update across update and late update, add submesh command values to master mesh struct
46 Days Ago
Merge from main
46 Days Ago
Restructure foliage grid to make use of native arrays in cell collect and command creation steps. Use wrapping smaller grid for foliage cells to keep to a reasonable size, while invalidating cells as the camera moves.
53 Days Ago
Merge from main
53 Days Ago
Re-enable wind and fix instanced foliage motion vectors
54 Days Ago
Simplify placement compute shader and reduce interlocked ops, restructure foliage instancing header to handle shadows and motion vectors, improve performance in foliage grid update by caching raycorners and reducing unneeded cbuffer updates.
2 Months Ago
Merge from main
2 Months Ago
Fix buffer clearing compute dispatch count, array disposal, add scale world to object matrix, restore old functionality for comparisons
2 Months Ago
Add normals and tangents to binned vert data, restructure foliage vertex shader to handle wind, fading and displacement with instancing (also might have improved edge masking), add optional vertex data macros to make passing data easier and reducing redundant calculations
2 Months Ago
Simplify active submesh data structure
2 Months Ago
Compute foliage cell population on a 3x3 grid of 8x8 cells in a sequence of computes and AsyncGPUReadbacks to cache population counts in chunks as camera moves.