diff options
-rw-r--r-- | primitives.cc | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/primitives.cc b/primitives.cc index ae43a58..6954e87 100644 --- a/primitives.cc +++ b/primitives.cc @@ -294,14 +294,18 @@ sphere_next_r2: for (int i=0; i<fragments; i++) { int j = (i+1) % fragments; - p->append_poly(); - p->insert_vertex(circle1[i].x, circle1[i].y, z1); - p->insert_vertex(circle2[i].x, circle2[i].y, z2); - p->insert_vertex(circle1[j].x, circle1[j].y, z1); - p->append_poly(); - p->insert_vertex(circle2[i].x, circle2[i].y, z2); - p->insert_vertex(circle2[j].x, circle2[j].y, z2); - p->insert_vertex(circle1[j].x, circle1[j].y, z1); + if (r1 > 0) { + p->append_poly(); + p->insert_vertex(circle1[i].x, circle1[i].y, z1); + p->insert_vertex(circle2[i].x, circle2[i].y, z2); + p->insert_vertex(circle1[j].x, circle1[j].y, z1); + } + if (r2 > 0) { + p->append_poly(); + p->insert_vertex(circle2[i].x, circle2[i].y, z2); + p->insert_vertex(circle2[j].x, circle2[j].y, z2); + p->insert_vertex(circle1[j].x, circle1[j].y, z1); + } } if (r1 > 0) { |