Minor version
This version fixes some important problems related to AGX Terrain. Because it changes some of the material definitions, this fix is marked as a Minor release instead of a Patch release.
Fixes
-
AGX Terrain
- Adding/Removing a terrain will no longer change the number of iterations for the PPGS solver.
- Fixed bug where the inertia tensor of soil particle aggregates was wrong due to rotating aggregate bodies.
- Fixed issues with rotating particles in buckets due to insufficient friction forces.
- Fixed bug where strong interactions resulted in a huge damping in impacting islands with complex impacts enabled.
- The terrain material library has been updated (JSON files) to better match real materials. For example for dirt_1.json: “ExcavationContactProperties.aggregateStiffnessMultiplier” : 0.050 -> 0.002
- When using TerrainPager there was a problem where multiple TerrainToolCollection for the same shovel can be active at the same time. This has been resolved.
- Fixed bug where terrain aggregate contact material parameters were overwritten by shovel material parameters and shovel material parameters wasn’t set.
- Decreased minimum value of aggregate stiffness multiplier to 1.0E-15 (invalid if 0).
- Changed from 32bit float representation of the terrain grid to be able to support simulating terrain on very large distances from origo.
- Added
TerrainProperties::setSoilParticleGrowthRate
to control the rate in which particles are created form fluid mass. - TerrainPager optimization for avoiding Terrain updates in terrain tiles that does not have an active tool collection (shovels).
- Some performance optimizations
Detailed changes
- 33c33ecb0b Merge branch ‘fix/performance_local_vector_terrain’ into ‘master’ Some performance gain (~3% overall in some scenes) using
agxData::LocalVector
instead ofagx::Vector
See merge request algoryx/agx!1997 - 87f5867b31 Merge branch ‘fix/terrain-pager-tile-update-optimization-bug’ into ‘master’ Fix terrain tile update bug. Add update to tiles with particles. See merge request algoryx/agx!1996
- 21048f8e90 Merge branch ‘fix/terrain-sort-particles-index-error’ into ‘master’ Fix indexing error in Terrain::sortParticlesIntoVoxels See merge request algoryx/agx!1994
- 4f0bd98c4f Merge branch ‘fix/float_to_real_access’ into ‘master’ Fixing access to buffers with correct data type, float -> double. See merge request algoryx/agx!1995
- aa1cb574a3 Merge branch ‘fix/fluid-mass-utility’ into ‘master’ Add setParticleGrowthRate in TerrainProperties See merge request algoryx/agx!1991
- 1bcd699464 Merge branch ‘fix/terrain-pager-performance’ into ‘master’ Terrain Pager Performance Updates See merge request algoryx/agx!1992
- 3eaa83fac9 Merge branch ‘fix/fluid-mass-utility’ into ‘master’ Add setParticleGrowthRate in TerrainProperties See merge request algoryx/agx!1991
- 2025e70998 Merge branch ‘fix/hierarchical-grid-remove-float’ into ‘master’ Convert Real32 elements in hierarchical grid to Real See merge request algoryx/agx!1989
- c3b99daa70 Merge branch ‘fix/soilinterface-change-num-iterations’ into ‘master’ Change default PPGS resting iterations to 25 and do not change iteration count on sim->add( terrain ) Closes #919 See merge request algoryx/agx!1988
- 4981425111 Merge branch ‘fix/terrain-shovel-aggregate-interactions’ into ‘master’ Terrain shovel aggregate interactions fixes See merge request algoryx/agx!1976 # Conflicts: # data/python/agxTerrain/bulldozer_terrain.agxPy
- 710ab671a1 Merge branch ‘fix/terrain-pager-transition-separation-forces’ into ‘master’ Fix terrain pager transition separation forces See merge request algoryx/agx!1978
- cd15e4c1a2 Merge branch ‘fix/terrain-aggregate-contacts’ into ‘master’ Terrain shovel aggregate contact fix See merge request algoryx/agx!1974