branchrust_reboot/main/island_shore_seam_fixcancel
16 Commits over 31 Days - 0.02cph!
downsample deepsea shorevectors and distances, bitshifted by 1
fixed editor spawning of island shore vectors
fixed native pixel data using wrong format, should've been half4 not just Color
handling floating city data, blits in on top of generated values
- also jobified stupid texture data population, 30ms down to 0.7ms still too slow but way better
legitimately generate shore distances/vectors for the deep sea rather than blitting, no floating city support yet
parallelism on DistanceField jobs and TerrainHeightMap sampling, brings total shore vector generation time down to ~5ms
shore data stored as Vector4 instead of float4 to avoid reinterpreting frequently for no reason
removed stupid native -> managed -> native process that was happening, shore distance and vectors calculated as native and remain native
added normalized heightmap vis to baked ShoreVectorData
halved min/max of topology query radius range, now [8,16] mapped from heightmap range of [4,0]
- significant reduction in topology query cost, will need to test some procgen maps that water isn't now invisibile in some niche case
further improvements
- reuse positions and heightmap data from previous query in topology query, we were doing both twice
- moved topology radii gen, reading of topology, and processing into water mask into a set of 3 jobs scheduled under one handle and completed
initial step towards making proper shore vector generation fast enough to avoid blitting data for the deep sea
- Native DistanceField methods using jobs and burst
- jobified various other parts of the shore vector generation
- fixed batched HeighMap position query not using the deepsea data
- about a third of the previous runtime currently but still too slow
reworked shoredata blitting to handle rotated bounds properly and not clamp-extend outside pixels