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. --- camera.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'camera.c') diff --git a/camera.c b/camera.c index 8395c0e..e67601f 100644 --- a/camera.c +++ b/camera.c @@ -211,21 +211,24 @@ shootcamera(Camera *c, Shadertab *s) static Scene *skyboxscene; static Shadertab skyboxshader = { nil, skyboxvs, skyboxfs }; Model *mdl; + Framebufctl *fbctl; Renderjob *job; uvlong t0, t1; assert(c->view != nil && c->rctl != nil && c->scene != nil && s != nil); + fbctl = c->view->fbctl; + job = emalloc(sizeof *job); memset(job, 0, sizeof *job); - job->fb = c->view->fbctl->getbb(c->view->fbctl); + job->fb = fbctl->getbb(fbctl); job->camera = emalloc(sizeof *c); *job->camera = *c; job->scene = dupscene(c->scene); /* take a snapshot */ job->shaders = s; job->donec = chancreate(sizeof(void*), 0); - c->view->fbctl->reset(c->view->fbctl); + fbctl->reset(fbctl, c->clearcolor); t0 = nanosec(); sendp(c->rctl->c, job); recvp(job->donec); @@ -250,7 +253,7 @@ shootcamera(Camera *c, Shadertab *s) delscene(job->scene); } t1 = nanosec(); - c->view->fbctl->swap(c->view->fbctl); + fbctl->swap(fbctl); updatestats(c, t1-t0); updatetimes(c, job); -- cgit v1.2.3