diff options
author | rodri <rgl@antares-labs.eu> | 2024-05-03 15:29:15 +0000 |
---|---|---|
committer | rodri <rgl@antares-labs.eu> | 2024-05-03 15:29:15 +0000 |
commit | c1a0f17d5272255456af4be4e0aa5a7e697fcf11 (patch) | |
tree | 9d4d183e6c0c78c3bb6e869de2163e5e12e2d10e /render.c | |
parent | afc811ce9e8b8a1a3d83b3855f4a9e63ba5a2c7b (diff) | |
download | libgraphics-c1a0f17d5272255456af4be4e0aa5a7e697fcf11.tar.gz libgraphics-c1a0f17d5272255456af4be4e0aa5a7e697fcf11.tar.bz2 libgraphics-c1a0f17d5272255456af4be4e0aa5a7e697fcf11.zip |
clip: fix rectclipline.
mixed up CLIP[TB] and the slope was being computed as
an integer division, which caused artifacts.
Diffstat (limited to 'render.c')
-rw-r--r-- | render.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -205,7 +205,8 @@ rasterize(Rastertask *task) p0 = Pt(prim.v[0].p.x, prim.v[0].p.y); p1 = Pt(prim.v[1].p.x, prim.v[1].p.y); /* clip it against our wr */ - rectclipline(task->wr, &p0, &p1); + if(rectclipline(task->wr, &p0, &p1) < 0) + break; /* transpose the points */ if(abs(p0.x-p1.x) < abs(p0.y-p1.y)){ |