From af89f884a13a8ee2cc7d9d09cc88a3fbb145f177 Mon Sep 17 00:00:00 2001 From: rodri Date: Mon, 25 Mar 2024 22:28:39 +0000 Subject: use the new renderer interface. --- main.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/main.c b/main.c index e0cff2d..1145ed8 100644 --- a/main.c +++ b/main.c @@ -44,7 +44,7 @@ Mousectl *mctl; Keyboardctl *kctl; Channel *drawc; int kdown; -Shader *shader; +Shadertab *shader; Model *model; Entity *subject; Scene *scene; @@ -413,7 +413,7 @@ boxshader(FSparams *sp) return Pt3(uv.x, uv.y, smoothstep(0,1,uv.x+uv.y), 1); } -Shader shadertab[] = { +Shadertab shadertab[] = { { "triangle", ivshader, triangleshader }, { "circle", ivshader, circleshader }, { "box", ivshader, boxshader }, @@ -423,7 +423,7 @@ Shader shadertab[] = { { "gouraud", gouraudvshader, gouraudshader }, { "phong", phongvshader, phongshader }, }; -Shader * +Shadertab * getshader(char *name) { int i; @@ -729,6 +729,7 @@ void threadmain(int argc, char *argv[]) { Viewport *v; + Renderer *rctl; Channel *keyc; char *texpath, *norpath, *sname, *mdlpath; int i, fd; @@ -783,10 +784,12 @@ threadmain(int argc, char *argv[]) refreshmodel(model); } - if(initdraw(nil, nil, "3d") < 0) - sysfatal("initdraw: %r"); if(memimageinit() != 0) sysfatal("memimageinit: %r"); + if((rctl = initgraphics()) == nil) + sysfatal("initgraphics: %r"); + if(initdraw(nil, nil, "3d") < 0) + sysfatal("initdraw: %r"); if((mctl = initmouse(nil, screen)) == nil) sysfatal("initmouse: %r"); @@ -796,6 +799,7 @@ threadmain(int argc, char *argv[]) placecamera(&cams[i], camcfgs[i].p, camcfgs[i].lookat, camcfgs[i].up); configcamera(&cams[i], v, camcfgs[i].fov, camcfgs[i].clipn, camcfgs[i].clipf, camcfgs[i].ptype); cams[i].s = scene; + cams[i].rctl = rctl; } maincam = &cams[3]; light.p = Pt3(0,100,100,1); -- cgit v1.2.3