From c5819ce0537c4c0baaaa4028da5096b4446da219 Mon Sep 17 00:00:00 2001 From: Luigi Malomo Date: Mon, 14 Feb 2022 10:16:13 +0100 Subject: [PATCH] removed deprecated random_shuffle --- src/meshlabplugins/filter_ao/filter_ao.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/meshlabplugins/filter_ao/filter_ao.cpp b/src/meshlabplugins/filter_ao/filter_ao.cpp index d94f9cd4a..4fc51bcaa 100644 --- a/src/meshlabplugins/filter_ao/filter_ao.cpp +++ b/src/meshlabplugins/filter_ao/filter_ao.cpp @@ -30,8 +30,8 @@ #include - #include +#include #define AMBOCC_MAX_TEXTURE_SIZE 2048 #define AMBOCC_DEFAULT_TEXTURE_SIZE 512 @@ -185,8 +185,11 @@ std::map AmbientOcclusionPlugin::applyFilter(const QActio std::vector coneDirVec; GenNormal::UniformCone(numViews, coneDirVec, math::ToRad(coneAngle), coneDir); - std::random_shuffle(unifDirVec.begin(),unifDirVec.end()); - std::random_shuffle(coneDirVec.begin(),coneDirVec.end()); + { + std::random_device rd; + std::shuffle(unifDirVec.begin(),unifDirVec.end(),std::mt19937(rd())); + std::shuffle(coneDirVec.begin(),coneDirVec.end(), std::mt19937(rd())); + } int unifNum = floor(unifDirVec.size() * (1.0 - dirBias )); int coneNum = floor(coneDirVec.size() * (dirBias ));