diff --git a/modules/csg/csg_shape.cpp b/modules/csg/csg_shape.cpp index a2dfaf5074c..2167bce9edd 100644 --- a/modules/csg/csg_shape.cpp +++ b/modules/csg/csg_shape.cpp @@ -973,6 +973,10 @@ CSGBrush *CSGSphere::_build_brush() { double u0 = double(j) / radial_segments; double longitude1 = longitude_step * (j + 1); + if (j == radial_segments - 1) { + longitude1 = 0; + } + double x1 = Math::sin(longitude1); double z1 = Math::cos(longitude1); double u1 = double(j + 1) / radial_segments; @@ -1328,6 +1332,9 @@ CSGBrush *CSGCylinder::_build_brush() { for (int i = 0; i < sides; i++) { float inc = float(i) / sides; float inc_n = float((i + 1)) / sides; + if (i == sides - 1) { + inc_n = 0; + } float ang = inc * Math_PI * 2.0; float ang_n = inc_n * Math_PI * 2.0;