aboutsummaryrefslogtreecommitdiff
path: root/examples3d/heightfield3.rs
diff options
context:
space:
mode:
authorCrozet Sébastien <developer@crozet.re>2020-11-22 16:36:19 +0100
committerCrozet Sébastien <developer@crozet.re>2020-11-22 16:36:19 +0100
commitc7ed2c99c12747ce8dc765e0ac0f40967bc8bacd (patch)
tree2191afb20b282d4aee4c41d980d395718fc0f21e /examples3d/heightfield3.rs
parent000aad0a3c36083128765c534e30fd3a35736dce (diff)
downloadrapier-c7ed2c99c12747ce8dc765e0ac0f40967bc8bacd.tar.gz
rapier-c7ed2c99c12747ce8dc765e0ac0f40967bc8bacd.tar.bz2
rapier-c7ed2c99c12747ce8dc765e0ac0f40967bc8bacd.zip
Heightfield and trimesh demos: ensure the heights are generated deterministically.
Diffstat (limited to 'examples3d/heightfield3.rs')
-rw-r--r--examples3d/heightfield3.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/examples3d/heightfield3.rs b/examples3d/heightfield3.rs
index 6af93c7..59380d5 100644
--- a/examples3d/heightfield3.rs
+++ b/examples3d/heightfield3.rs
@@ -1,4 +1,4 @@
-use na::{DMatrix, Point3, Vector3};
+use na::{ComplexField, DMatrix, Point3, Vector3};
use rapier3d::dynamics::{JointSet, RigidBodyBuilder, RigidBodySet};
use rapier3d::geometry::{ColliderBuilder, ColliderSet};
use rapier_testbed3d::Testbed;
@@ -23,7 +23,11 @@ pub fn init_world(testbed: &mut Testbed) {
} else {
let x = i as f32 * ground_size.x / (nsubdivs as f32);
let z = j as f32 * ground_size.z / (nsubdivs as f32);
- x.sin() + z.cos()
+
+ // NOTE: make sure we use the sin/cos from simba to ensure
+ // cross-platform determinism of the example when the
+ // enhanced_determinism feature is enabled.
+ (<f32 as ComplexField>::sin(x) + <f32 as ComplexField>::cos(z))
}
});