Просмотр исходного кода

Merge pull request #59002 from MythTitans/fix-visible-seam-torus

Fix normals computation at the 'seam' of smoothed torus shape
Rémi Verschelde 3 лет назад
Родитель
Сommit
c291b48209
1 измененных файлов с 6 добавлено и 0 удалено
  1. 6 0
      modules/csg/csg_shape.cpp

+ 6 - 0
modules/csg/csg_shape.cpp

@@ -1530,6 +1530,9 @@ CSGBrush *CSGTorus3D::_build_brush() {
 			for (int i = 0; i < sides; i++) {
 				float inci = float(i) / sides;
 				float inci_n = float((i + 1)) / sides;
+				if (i == sides - 1) {
+					inci_n = 0;
+				}
 
 				float angi = inci * Math_TAU;
 				float angi_n = inci_n * Math_TAU;
@@ -1540,6 +1543,9 @@ CSGBrush *CSGTorus3D::_build_brush() {
 				for (int j = 0; j < ring_sides; j++) {
 					float incj = float(j) / ring_sides;
 					float incj_n = float((j + 1)) / ring_sides;
+					if (j == ring_sides - 1) {
+						incj_n = 0;
+					}
 
 					float angj = incj * Math_TAU;
 					float angj_n = incj_n * Math_TAU;