diff --git a/source/blender/blenlib/intern/rand.cc b/source/blender/blenlib/intern/rand.cc index a7900f02165..532de1e4b6f 100644 --- a/source/blender/blenlib/intern/rand.cc +++ b/source/blender/blenlib/intern/rand.cc @@ -10,6 +10,7 @@ #include #include #include +#include #include "MEM_guardedalloc.h" @@ -366,8 +367,11 @@ namespace blender { RandomNumberGenerator RandomNumberGenerator::from_random_seed() { - const double time = BLI_check_seconds_timer() * 1000000.0; - return RandomNumberGenerator(*reinterpret_cast(&time)); + std::random_device rd; + std::mt19937 e{rd()}; + std::uniform_int_distribution dist; + const uint32_t seed = dist(e); + return RandomNumberGenerator(seed); } void RandomNumberGenerator::seed_random(uint32_t seed)