From 139a46c56af04a0b8c2f06769ac77078f5581395 Mon Sep 17 00:00:00 2001 From: rodri Date: Sun, 11 Aug 2024 21:40:53 +0000 Subject: fix FPINVAL error. knob for fb clear color. general improvements. --- render.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'render.c') diff --git a/render.c b/render.c index 764dbca..50285cc 100644 --- a/render.c +++ b/render.c @@ -42,6 +42,9 @@ pixel(Framebuf *fb, Point p, Color c, int blend) if(blend){ dc = srgb2linear(ul2col(getpixel(fb, p))); c = lerp3(dc, c, c.a); /* SoverD */ +// c = addpt3(mulpt3(dc, 1), mulpt3(c, 1-c.a)); +// c = subpt3(Vec3(1,1,1), subpt3(dc, c)); +// c = subpt3(addpt3(dc, c), Vec3(1,1,1)); } putpixel(fb, p, col2ul(linear2srgb(c))); } @@ -87,8 +90,7 @@ pushtoAbuf(Framebuf *fb, Point p, Color c, float z) buf = &fb->abuf; stk = &buf->stk[p.y*Dx(fb->r) + p.x]; stk->items = erealloc(stk->items, ++stk->size*sizeof(*stk->items)); - -//fprint(2, "stk %#p items %#p size %lud (%d bytes)\n", stk, stk->items, stk->size, sizeof(*stk)); + memset(&stk->items[stk->size-1], 0, sizeof(*stk->items)); for(i = 0; i < stk->size; i++) if(z < stk->items[i].z) @@ -107,7 +109,6 @@ pushtoAbuf(Framebuf *fb, Point p, Color c, float z) buf->act = erealloc(buf->act, ++buf->nact*sizeof(*buf->act)); buf->act[buf->nact-1] = stk; qunlock(buf); -//fprint(2, "act %#p nact %lud (%d bytes)\n", buf->act, buf->nact, sizeof(*buf->act)); } } -- cgit v1.2.3