diff options
author | rodri <rgl@antares-labs.eu> | 2024-07-09 20:56:27 +0000 |
---|---|---|
committer | rodri <rgl@antares-labs.eu> | 2024-07-09 20:56:27 +0000 |
commit | 45bdbbcb16c1c95b8c7450fd6700c0a32418c98d (patch) | |
tree | c0a7abfbba536ecfee3d34cf1a1f594009108bc5 /render.c | |
parent | 714038d0bce05c734d4e45289ec2bf1174463e4a (diff) | |
download | libgraphics-45bdbbcb16c1c95b8c7450fd6700c0a32418c98d.tar.gz libgraphics-45bdbbcb16c1c95b8c7450fd6700c0a32418c98d.tar.bz2 libgraphics-45bdbbcb16c1c95b8c7450fd6700c0a32418c98d.zip |
texture nomenclature changes. fb format RGBA → XRGB.
we are still doing alpha blending, so we use the
X chan internally, but we don't care about it
when (mem)drawing to the screen.
Diffstat (limited to 'render.c')
-rw-r--r-- | render.c | 18 |
1 files changed, 9 insertions, 9 deletions
@@ -15,10 +15,10 @@ col2ul(Color c) { uchar cbuf[4]; - cbuf[0] = fclamp(c.a, 0, 1)*0xFF; - cbuf[1] = fclamp(c.b, 0, 1)*0xFF; - cbuf[2] = fclamp(c.g, 0, 1)*0xFF; - cbuf[3] = fclamp(c.r, 0, 1)*0xFF; + cbuf[0] = fclamp(c.b, 0, 1)*0xFF; + cbuf[1] = fclamp(c.g, 0, 1)*0xFF; + cbuf[2] = fclamp(c.r, 0, 1)*0xFF; + cbuf[3] = fclamp(c.a, 0, 1)*0xFF; return cbuf[3]<<24 | cbuf[2]<<16 | cbuf[1]<<8 | cbuf[0]; } @@ -27,10 +27,10 @@ ul2col(ulong l) { Color c; - c.a = (l & 0xff)/255.0; - c.b = (l>>8 & 0xff)/255.0; - c.g = (l>>16 & 0xff)/255.0; - c.r = (l>>24 & 0xff)/255.0; + c.b = (l & 0xff)/255.0; + c.g = (l>>8 & 0xff)/255.0; + c.r = (l>>16 & 0xff)/255.0; + c.a = (l>>24 & 0xff)/255.0; return c; } @@ -52,6 +52,7 @@ pixeln(Framebuf *fb, Point p, Color c) ulong *dst; dst = fb->nb; + c.a = 1; dst[Dx(fb->r)*p.y + p.x] = col2ul(c); } @@ -222,7 +223,6 @@ discard: fsp.p = p; c = params->fshader(&fsp); pixel(params->fb, p, c); - fsp.v.n.w = 1; pixeln(params->fb, p, fsp.v.n); delvattrs(&fsp.v); } |