diff options
author | rodri <rgl@antares-labs.eu> | 2024-01-30 12:01:01 +0000 |
---|---|---|
committer | rodri <rgl@antares-labs.eu> | 2024-01-30 12:01:01 +0000 |
commit | 37da5f0a27740bb43bac67a2eb98f725beca975e (patch) | |
tree | 2e403bbd2f477e65c8b82f10e950721b4103c895 /internal.h | |
parent | df792cbb5cf94abf0d286ebfd73bad9714dce509 (diff) | |
download | libgraphics-37da5f0a27740bb43bac67a2eb98f725beca975e.tar.gz libgraphics-37da5f0a27740bb43bac67a2eb98f725beca975e.tar.bz2 libgraphics-37da5f0a27740bb43bac67a2eb98f725beca975e.zip |
import the new renderer and clean things up.
i integrated the renderer i've been developing
on the tinyrend repo and got rid of a bunch of
stuff that's no longer necessary. also began
structuring things to fit the new interface i
have in mind.
there are still some artifacts with the
projection xforms that cause issues with
clipping and division by zero.
Diffstat (limited to 'internal.h')
-rw-r--r-- | internal.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/internal.h b/internal.h new file mode 100644 index 0000000..a6b7a96 --- /dev/null +++ b/internal.h @@ -0,0 +1,29 @@ +typedef struct Deco Deco; +struct Deco +{ + int pfd[2]; + int infd; + char *prog; +}; + +/* alloc */ +void *emalloc(ulong); +void *erealloc(void*, ulong); +Memimage *eallocmemimage(Rectangle, ulong); + +/* fb */ +Framebuf *mkfb(Rectangle); +void rmfb(Framebuf*); +Framebufctl *mkfbctl(Rectangle); +void rmfbctl(Framebufctl*); + +/* render */ +void shade(Framebuf *fb, OBJ *model, Memimage *modeltex, Shader *s, ulong nprocs); + +/* util */ +int min(int, int); +int max(int, int); +void memsetd(double*, double, usize); + +/* nanosec */ +uvlong nanosec(void); |