Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- if (a.y > b.y) swap(a, b);
- if (a.y > c.y) swap(a, c);
- if (b.y > c.y) swap(b, c);
- float x0 = a.x;
- float x1 = x0;
- float abh = (b.y == a.y ? 0 : (float) (b.x - a.x) / (b.y - a.y));
- float ach = (c.y == a.y ? 0 : (float) (c.x - a.x) / (c.y - a.y));
- float bch = (c.y == b.y ? 0 : (float) (c.x - b.x) / (c.y - b.y));
- for (int y = a.y + 1; y <= b.y; y++) {
- drawLine(x0 + 0.5f, y, x1 + 0.5f, y);
- x0 += abh;
- x1 += ach;
- }
- x0 = c.x;
- x1 = x0;
- for (int y = c.y - 1; y > b.y; y--) {
- x0 -= bch;
- x1 -= ach;
- drawLine(x0 + 0.5f, y, x1 + 0.5f, y);
- }
- drawLine(a.x, a.y, b.x, b.y, Color::Red, vertices);
- drawLine(a.x, a.y, c.x, c.y, Color::Red, vertices);
- drawLine(b.x, b.y, c.x, c.y, Color::Red, vertices);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement