Fixed random seed when run in benchmark mode, use default random engine instead of fixed mersene twister

Refs #269
This commit is contained in:
saschawillems 2018-01-18 21:31:19 +01:00
parent 5790f30c17
commit 9e073bdd3b
11 changed files with 55 additions and 60 deletions

View file

@ -115,7 +115,6 @@ public:
camera.setRotation(glm::vec3(-30.0f, -45.0f, 0.0f));
camera.setTranslation(glm::vec3(0.0f, 0.0f, -3.5f));
settings.overlay = true;
srand((unsigned int)time(NULL));
}
~VulkanExample()
@ -669,12 +668,11 @@ public:
// todo: base on frametime
//compute.ubo.deltaT = frameTimer * 0.0075f;
std::mt19937 rg((unsigned)time(nullptr));
std::uniform_real_distribution<float> rd(1.0f, 6.0f);
if (simulateWind) {
compute.ubo.gravity.x = cos(glm::radians(-timer * 360.0f)) * (rd(rg) - rd(rg));
compute.ubo.gravity.z = sin(glm::radians(timer * 360.0f)) * (rd(rg) - rd(rg));
std::default_random_engine rndEngine(benchmark.active ? 0 : (unsigned)time(nullptr));
std::uniform_real_distribution<float> rd(1.0f, 6.0f);
compute.ubo.gravity.x = cos(glm::radians(-timer * 360.0f)) * (rd(rndEngine) - rd(rndEngine));
compute.ubo.gravity.z = sin(glm::radians(timer * 360.0f)) * (rd(rndEngine) - rd(rndEngine));
}
else {
compute.ubo.gravity.x = 0.0f;