diff --git a/polygons.cpp b/polygons.cpp index 051ba795..6c322cde 100644 --- a/polygons.cpp +++ b/polygons.cpp @@ -114,7 +114,7 @@ vector> ptds; #if CAP_SHAPES void hpcpush(hyperpoint h) { if(sphere) h = mid(h,h); - ld threshold = (sphere ? (ISMOBWEB || NONSTDVAR ? .04 : .001) : 0.1) * pow(.25, vid.linequality); + ld threshold = (DIM == 3 || last->flags & POLY_TRIANGLES) ? 100 : (sphere ? (ISMOBWEB || NONSTDVAR ? .04 : .001) : 0.1) * pow(.25, vid.linequality); if(/*vid.usingGL && */!first && intval(hpc.back(), h) > threshold) { hyperpoint md = mid(hpc.back(), h); hpcpush(md); @@ -1957,6 +1957,7 @@ void make_wall(hpcshape& sh, int x0, int y0, int z0, int x1, int y1, int z1, int hpcpush(res); }; if(flags == 2) { + last->flags |= POLY_TRIANGLES; for(int y=0; yflags |= POLY_TRIANGLES; } } else {