diff --git a/RayTracer/tools/Random.cpp b/RayTracer/tools/Random.cpp index 6e685859dbd690671e7132e8be3143acb66810ac..a32c8da65d0a97da157ec82395e1aa527da7a27a 100644 --- a/RayTracer/tools/Random.cpp +++ b/RayTracer/tools/Random.cpp @@ -3,7 +3,7 @@ namespace util { Vec3 rand_vec3() { - return Vec3(dis(gen), dis(gen), dis(gen)); + return Vec3(dis0to1(gen), dis0to1(gen), dis0to1(gen)); } bool in_circle(const Vec3& v) { diff --git a/RayTracer/tools/Random.h b/RayTracer/tools/Random.h index dfc8b4fc4602dce76a28fca8bfee33d79d237e27..69c4f8bcdc5e97d0ef12dacd3d0ce1b554b0b440 100644 --- a/RayTracer/tools/Random.h +++ b/RayTracer/tools/Random.h @@ -8,7 +8,8 @@ namespace util { static std::random_device rd; static std::mt19937 gen(rd()); -static std::uniform_real_distribution<> dis(-1.0, 1.0); +static std::uniform_real_distribution<> dis0to1(0.0, 1.0); +static std::uniform_real_distribution<> disMinus1To1(-1.0, 1.0); Vec3 rand_vec3(); bool in_circle(const Vec3& v); Vec3 rand_vec3_in_circle(float r);