diff options
-rw-r--r-- | clip.c | 6 | ||||
-rw-r--r-- | fb.c | 2 | ||||
-rw-r--r-- | render.c | 4 |
3 files changed, 7 insertions, 5 deletions
@@ -199,8 +199,10 @@ adjustverts(Point *p0, Point *p1, Vertex *v0, Vertex *v1) perc = len == 0? 0: hypot(Δp.x, Δp.y)/len; lerpvertex(&v[1], v0, v1, perc); - *v0 = dupvertex(&v[0]); - *v1 = dupvertex(&v[1]); + delvattrs(v0); + delvattrs(v1); + *v0 = v[0]; + *v1 = v[1]; } /* @@ -92,7 +92,7 @@ rasterconvF2C(Raster *dst, Raster *src) /* first run: get the domain */ f = (float*)src->data; len = Dx(dst->r)*Dy(dst->r); - for(min = 0, max = 0; len--; f++){ + for(min = max = 0; len--; f++){ if(isInf(*f, -1)) /* -∞ is the DNotacolor of the z-buffer */ continue; min = min(*f, min); @@ -260,8 +260,8 @@ rasterize(Rastertask *task) z = flerp(prim->v[0].p.z, prim->v[1].p.z, perc); /* TODO get rid of the bounds check and make sure the clipping doesn't overflow */ - if((ropts & RODepth) && - !ptinrect(p, params->fb->r) || z <= getdepth(zr, p)) + if(!ptinrect(p, params->fb->r) || + ((ropts & RODepth) && z <= getdepth(zr, p))) goto discard; /* interpolate z⁻¹ and get actual z */ |