branchrust_reboot/main/erosioncancel

45 Commits over 61 Days - 0.03cph!

Today
rebalanced terrain splatting around snow and sand to not be massively too broad
Today
debug command wrapped in proper infdef + codegen
Today
merge from main
Yesterday
merge from main
Yesterday
separated splatting for sand and snow again, debug render command, cleanup
2 Days Ago
erosion changes - retuned erosion again to allow better channel carving, while maintaining control - new method for terrain splatting that relies on calculating delta gradients from erosion heightmap delta, allows control to paint thin channels without painting large flat sections
7 Days Ago
merge from main
10 Days Ago
merge from main
20 Days Ago
merge from main
20 Days Ago
another pass on erosion spaltting - depeer gouges from erosion - less intense splatting of gravel generally - slope threshold to stop splatting onto larger flat sections at the bottom of hills - cliff avoidance to match previous behaviour
21 Days Ago
merge from main
22 Days Ago
merge from main
38 Days Ago
adjusted splat ignoremask to include ocean and lake (using pre-existing Sand topology mask)
38 Days Ago
re-balanced erosion splat values to be less intense, included oceanside and lakeside to ignore mask to avoid wiping out beaches with stones
38 Days Ago
merge from main
40 Days Ago
switched splat writing to iterate heightmap delta and write splat with normalized coords - much better results, but needs jobifying as it's much slower
41 Days Ago
erosion texture fixes - use proper splat types - rebalanced splat values to use exponents - don't splat monuments
42 Days Ago
added splatmap writing to the end of the grid-based erosion, re-used approach from old particle-based solution but with re-tuned values - also rebalanced values again
42 Days Ago
merge from main
45 Days Ago
remove unused watermap array from job
45 Days Ago
switched initial map prepare job to IJobParallelForBatch to reduce locking with parallel writer (temp alloc list of indices and add to write as batch per-job) - also other various micro-optim
45 Days Ago
merge from main
48 Days Ago
erosion tuning and fixes - tweaked values again, bit more prominent - splitting slope calc into its own job with tiling for better caching - corrected error with flux calc where water was tending to flow in one direction
50 Days Ago
erosion adjustments - fixed evaporation rate being stupidly high - cache ocean indices on the start and refill the ocean each step, stops it seeping out the world border - smoothstep sediment adjustment with water depth and threshold to stop erosion from high velocity deep water - properly adjust water height by sediment adjustments
51 Days Ago
adjusted debug_erosion data dump to have resolution size in file name and also reference the data vis repo
52 Days Ago
cleanup
52 Days Ago
merge from main
52 Days Ago
more tuning and correcting velocity adjustment
55 Days Ago
merge from main
58 Days Ago
removed unnecessary NoAlias attribute
58 Days Ago
fixes and tuning improvements - corrected indexing mistakes that caused water to flow generally eastwards and slope angle to just be wrong - water height threshold to stop ocean eroding seafloor - sediment depositing uses timestep to help tuning be more consistent - cleanup
2 Months Ago
some aggressive optimizations to vectorize better, mostly switching out repeated inline coordinate->index operations with single int2x4 operation - makes a difference with the loop count we're looking at
2 Months Ago
merge from main
2 Months Ago
erosion tuning and fixes
2 Months Ago
grid-based erosion improvements - much smaller timestep, stops patterns from shoddy integration forming - working with height in world-space and copying back - better job dependency handling - some disabled debug data dumping to help debug the process with python scripts
2 Months Ago
initial implementation of a grid-based hydraulic erosion system in the jobsystem - super fast - super wrong - needs a lot more parameter/constant tuning to get good results, but it's functioning
2 Months Ago
merge from main
2 Months Ago
merge from main
2 Months Ago
small improvements/fixes to particle erosion setup - starting to look like a bad approach for us though
3 Months Ago
pretty dirty WIP approach to erosion in a job, needs cleanup and splat writing fixing
3 Months Ago
terrain topology radius samples run through burst job, even when called from other threads - 5000 size map without monuments, trains, roads takes 96s rather than 510s to generate, significant reduction in river layout and shore vector generation
3 Months Ago
Update: added GetTopologies jobs for TopologyMap - Also covered with tests - Sprinkled [WriteOnly]/[ReadOnly] attributes into jobs - Fixed constant string allocation in tests Tests: ran unit tests
3 Months Ago
Update: adding WaterMap height sampling burst jobs - Also covered them with tests to validate output against non-job calls Tests: ran unit tests
3 Months Ago
Merge: from terrainmap_nativearray2 - Fixed a bug of invalid reinterpret Bringing across my tests since we're both working on the same thing. Tests: ran the new tests
3 Months Ago
TerrainMap uses NativeArray instead of managed