Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2016
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.82 KB | None | 0 0
  1. {
  2.     if (a.y > b.y) swap(a, b);
  3.     if (a.y > c.y) swap(a, c);
  4.     if (b.y > c.y) swap(b, c);
  5.  
  6.     float x0 = a.x;
  7.     float x1 = x0;
  8.  
  9.     float abh = (b.y == a.y ? 0 : (float) (b.x - a.x) / (b.y - a.y));
  10.     float ach = (c.y == a.y ? 0 : (float) (c.x - a.x) / (c.y - a.y));
  11.     float bch = (c.y == b.y ? 0 : (float) (c.x - b.x) / (c.y - b.y));
  12.  
  13.     for (int y = a.y + 1; y <= b.y; y++) {
  14.         drawLine(x0 + 0.5f, y, x1 + 0.5f, y);
  15.         x0 += abh;
  16.         x1 += ach;
  17.     }
  18.  
  19.     x0 = c.x;
  20.     x1 = x0;
  21.  
  22.     for (int y = c.y - 1; y > b.y; y--) {
  23.         x0 -= bch;
  24.         x1 -= ach;
  25.         drawLine(x0 + 0.5f, y, x1 + 0.5f, y);
  26.     }
  27.  
  28.     drawLine(a.x, a.y, b.x, b.y, Color::Red, vertices);
  29.     drawLine(a.x, a.y, c.x, c.y, Color::Red, vertices);
  30.     drawLine(b.x, b.y, c.x, c.y, Color::Red, vertices);
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement