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 /viewport.c | |
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 'viewport.c')
-rw-r--r-- | viewport.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/viewport.c b/viewport.c new file mode 100644 index 0000000..81e1653 --- /dev/null +++ b/viewport.c @@ -0,0 +1,29 @@ +#include <u.h> +#include <libc.h> +#include <thread.h> +#include <draw.h> +#include <memdraw.h> +#include <geometry.h> +#include "libobj/obj.h" +#include "graphics.h" +#include "internal.h" + +Viewport * +mkviewport(Rectangle r) +{ + Viewport *v; + + v = emalloc(sizeof *v); + v->p = Pt2(0,0,1); + v->bx = Vec2(1,0); + v->by = Vec2(0,1); + v->fbctl = mkfbctl(r); + return v; +} + +void +rmviewport(Viewport *v) +{ + rmfbctl(v->fbctl); + free(v); +} |