userDayaancancel

85 Commits over 181 Days - 0.02cph!

Yesterday
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.
7 Days Ago
Fix corrupted file
8 Days Ago
Primitive indexed indirect render implementation for single material
11 Days Ago
Add y-axis fade controls to foliage billboard shader
11 Days Ago
Fix foliage shader merge issue. Adjust placement count.
11 Days Ago
Merge from main
12 Days Ago
Big code clean up and mark up. GPU readback to job wip.
13 Days Ago
Merge from main
13 Days Ago
Better switching between instancing on/off, and more clean up
14 Days Ago
Merge from main
14 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
18 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.
21 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.
26 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
27 Days Ago
Merge from main
27 Days Ago
Cherry pick from foliage_wind_phase 118815
27 Days Ago
GUI toggle for using blue vertex channel as wind phase offset
27 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.
35 Days Ago
Merge from main
35 Days Ago
Re-enable wind and fix instanced foliage motion vectors
35 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.
42 Days Ago
Merge from main
42 Days Ago
Fix buffer clearing compute dispatch count, array disposal, add scale world to object matrix, restore old functionality for comparisons
43 Days 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
49 Days Ago
Use blue channel vertex colour as phase offset to wind when DisplacementOverride is enabled
51 Days Ago
Simplify active submesh data structure
53 Days 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.
54 Days Ago
Fix merge issues, increase cell compute radius, add clear buffer step to run separately
54 Days Ago
Merge from main
54 Days Ago
Testing async gpu readback to calculate foliage counts to avoid any consistency issues
56 Days Ago
Increase coarse cull epsilon, and improve debug logs
57 Days Ago
Improve cell placement count gathering performance by using bitmasks instead of collections
2 Months Ago
Add foliage debugger to find inconsistencies, fix splat and biome map sampling, adjust cpu coarse culling to avoid issues, remove instance data padding now placement is more consistent
2 Months Ago
Use vertex offsets to handle combined index buffer, fix total argument count to handle binned meshes, fix minimal vertex buffer indexing.
2 Months Ago
Mesh binning preprocess in foliage grid using minimal vertex buffer to reduce draw calls on foliage which share similar meshes.
3 Months Ago
Combine foliage meshes and make use of multiple draw commands to minimise state changes
3 Months Ago
Grass clumping which influences position, height and direction.
3 Months Ago
Handle wind and displacement in compute step
3 Months Ago
Setup new material and foliage asset, improve grass blade shape, change instance data to use bezier curves.
3 Months Ago
Fix args buffer, and add simple UVs to procedural vertex function
3 Months Ago
Adding procedural option using render primitives indexed indirect for grass blades with calculated vert positions
3 Months Ago
Merge from main
3 Months Ago
Implement new foliage placement function in RefreshAsync update, adjust refresh distance when using instancing, make debug toggle.
3 Months Ago
Implement manual bilinear sampling and edit CPU sampling to match GPU behaviour, add distance scaling, improve rng hash function, fix edge case causing out of sync rng.
3 Months Ago
Random instance rotation, pack instance data into halfs, fix hash inconsistency
3 Months Ago
Implement precise placement check on CPU to improve instance offset accuracy (to test against cheaper approximation), extend debug info to test accuracy, use procedural noise instead of texture, improve randomisation, apply rotation to instances based heightmap
3 Months Ago
Merge from main
3 Months Ago
Add angle based dither fade for stationary multi-card billboards
3 Months Ago
Switch to structs instead of offsets, update debug counters for clarity, add clean up on destroy, give foliage unique seeds to keep consistent
3 Months Ago
Make foliage instancing much more stable/accurate, better seed and random calculations, made the noise texture match the CPU noise much more closely in distribution, add debug option to force CPU and GPU maps to sync, apply random scale to instances, and change foliage count calculation to adjust for probability.