summaryrefslogtreecommitdiff
path: root/med.c
diff options
context:
space:
mode:
authorrodri <rgl@antares-labs.eu>2024-06-06 17:40:01 +0000
committerrodri <rgl@antares-labs.eu>2024-06-06 17:40:01 +0000
commitd626030faba2ea45d1ed93cf5682e65095e5e1ec (patch)
treee2d33261d9820acf47dd06bae96329871da9a665 /med.c
parentca7f3196863e0012ec244f7e0354005275e69726 (diff)
download3dee-d626030faba2ea45d1ed93cf5682e65095e5e1ec.tar.gz
3dee-d626030faba2ea45d1ed93cf5682e65095e5e1ec.tar.bz2
3dee-d626030faba2ea45d1ed93cf5682e65095e5e1ec.zip
add skyboxes based on cubemaps.
Diffstat (limited to 'med.c')
-rw-r--r--med.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/med.c b/med.c
index 630b3b9..19eee54 100644
--- a/med.c
+++ b/med.c
@@ -243,7 +243,7 @@ gouraudvshader(VSparams *sp)
diffuse.a *= m->diffuse.a;
}
- lookdir = normvec3(subpt3(cam.p, pos));
+ lookdir = normvec3(subpt3(sp->su->camera->p, pos));
lightdir = qrotate(lightdir, sp->v->n, PI);
spec = pow(fmax(0, dotvec3(lookdir, lightdir)), m? m->shininess: 1);
specular = mulpt3(light.c, spec*Ks);
@@ -255,7 +255,7 @@ gouraudvshader(VSparams *sp)
}
sp->v->c = addpt3(ambient, addpt3(diffuse, specular));
- return world2clip(&cam, pos);
+ return world2clip(sp->su->camera, pos);
}
Color
@@ -299,7 +299,7 @@ phongvshader(VSparams *sp)
addvattr(sp->v, "specular", VAPoint, &s);
addvattr(sp->v, "shininess", VANumber, &ss);
}
- return world2clip(&cam, pos);
+ return world2clip(sp->su->camera, pos);
}
Color
@@ -340,7 +340,7 @@ phongshader(FSparams *sp)
diffuse.b *= m.diffuse.b;
diffuse.a *= m.diffuse.a;
- lookdir = normvec3(subpt3(cam.p, pos));
+ lookdir = normvec3(subpt3(sp->su->camera->p, pos));
lightdir = qrotate(lightdir, sp->v.n, PI);
spec = pow(fmax(0, dotvec3(lookdir, lightdir)), m.shininess);
specular = mulpt3(light.c, spec*Ks);
@@ -372,7 +372,7 @@ identvshader(VSparams *sp)
sp->v->p = model2world(sp->su->entity, sp->v->p);
if(sp->v->mtl != nil)
sp->v->c = sp->v->mtl->diffuse;
- return world2clip(&cam, sp->v->p);
+ return world2clip(sp->su->camera, sp->v->p);
}
Color
@@ -777,7 +777,7 @@ threadmain(int argc, char *argv[])
v = mkviewport(screenb->r);
placecamera(&cam, camcfg.p, camcfg.lookat, camcfg.up);
configcamera(&cam, v, camcfg.fov, camcfg.clipn, camcfg.clipf, camcfg.ptype);
- cam.s = scene;
+ cam.scene = scene;
cam.rctl = rctl;
light.p = Pt3(0,100,100,1);
light.c = Pt3(1,1,1,1);