userDayaancancel

82 Commits over 151 Days - 0.02cph!

Yesterday
Add y-axis fade controls to foliage billboard shader
Yesterday
Fix foliage shader merge issue. Adjust placement count.
Yesterday
Merge from main
Yesterday
Big code clean up and mark up. GPU readback to job wip.
3 Days Ago
Merge from main
4 Days Ago
Better switching between instancing on/off, and more clean up
5 Days Ago
Merge from main
5 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
9 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.
12 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.
17 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
18 Days Ago
Merge from main
18 Days Ago
Cherry pick from foliage_wind_phase 118815
18 Days Ago
GUI toggle for using blue vertex channel as wind phase offset
18 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.
25 Days Ago
Merge from main
25 Days Ago
Re-enable wind and fix instanced foliage motion vectors
26 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.
32 Days Ago
Merge from main
32 Days Ago
Fix buffer clearing compute dispatch count, array disposal, add scale world to object matrix, restore old functionality for comparisons
34 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
40 Days Ago
Use blue channel vertex colour as phase offset to wind when DisplacementOverride is enabled
41 Days Ago
Simplify active submesh data structure
44 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.
44 Days Ago
Fix merge issues, increase cell compute radius, add clear buffer step to run separately
45 Days Ago
Merge from main
45 Days Ago
Testing async gpu readback to calculate foliage counts to avoid any consistency issues
46 Days Ago
Increase coarse cull epsilon, and improve debug logs
48 Days Ago
Improve cell placement count gathering performance by using bitmasks instead of collections
52 Days 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
55 Days Ago
Use vertex offsets to handle combined index buffer, fix total argument count to handle binned meshes, fix minimal vertex buffer indexing.
60 Days Ago
Mesh binning preprocess in foliage grid using minimal vertex buffer to reduce draw calls on foliage which share similar meshes.
2 Months Ago
Combine foliage meshes and make use of multiple draw commands to minimise state changes
2 Months Ago
Grass clumping which influences position, height and direction.
2 Months Ago
Handle wind and displacement in compute step
2 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.
3 Months Ago
Merge from main
3 Months Ago
Add rotation toggle and face cullmode options in foliage billboard shader. Update all relevant materials which had the old unused _Cull property with the default off.
3 Months Ago
Add debug counters to compute, adjust noise compute for better placement, add toggle for instancing, fix incorrect cell bounds calculation, improve foliage cpu count estimation, improve foliage random positions, and add camera culling to foliage compute.