Browse Source

Lesson 13.10

Godzil 3 years ago
parent
commit
4d6e9de4a4
1 changed files with 8 additions and 3 deletions
  1. 8 3
      source/triangle.c

+ 8 - 3
source/triangle.c

@@ -95,8 +95,13 @@ void drawFilledTriangle(int32_t x0, int32_t y0, int32_t x1, int32_t y1, int32_t
     Mx = x0 + (double)((x2 - x0) * (y1 - y0)) / (double)(y2 - y0);
 
     /* Fill top */
-    drawFillBottomFlatTriangle(x0, y0, x1, y1, Mx, My,colour);
-
+    if (y0 != y1)
+    {
+        drawFillBottomFlatTriangle(x0, y0, x1, y1, Mx, My, colour);
+    }
     /* Fill bottom */
-    drawFillTopFlatTriangle(x1, y1, Mx, My, x2, y2, colour);
+    if (y1 != y2)
+    {
+        drawFillTopFlatTriangle(x1, y1, Mx, My, x2, y2, colour);
+    }
 }