ref: 12efa1d9e0ff3a32b018ee83d6ebee08c77972a9
parent: a09cfff78a96a10169a30324b75554827945fed4
author: rodri <rgl@antares-labs.eu>
date: Sat Oct 19 07:42:51 EDT 2024
remove quaternion sandwich utils (now part of libgeometry.)
--- a/graphics.h
+++ b/graphics.h
@@ -150,6 +150,8 @@
/* spotlights */
double θu; /* umbra angle. anything beyond is unlit */
double θp; /* penumbra angle. anything within is fully lit */
+
+ LightSource *prev, *next;
};
struct Material
@@ -199,6 +201,8 @@
char *name;
Entity ents;
ulong nents;
+ LightSource lights;
+ ulong nlights;
Cubemap *skybox;
void (*addent)(Scene*, Entity*);
@@ -446,8 +450,6 @@
Point3 minpt3(Point3, Point3);
Point3 maxpt3(Point3, Point3);
int eqpt3(Point3, Point3);
-Quaternion qsandwich(Quaternion, Quaternion);
-Point3 qsandwichpt3(Quaternion, Point3);
Memimage *rgba(ulong);
Memimage *dupmemimage(Memimage*);
--- a/render.c
+++ b/render.c
@@ -179,7 +179,7 @@
double dplen, perc;
float z, pcz;
uint ropts;
- int steep = 0, Δe, e, Δy;
+ int steep, Δe, e, Δy;
params = task->params;
prim = &task->p;
@@ -233,6 +233,7 @@
if(rectclipline(task->wr, &p0, &p1, &prim->v[0], &prim->v[1]) < 0)
break;
+ steep = 0;
/* transpose the points */
if(abs(p0.x-p1.x) < abs(p0.y-p1.y)){
steep = 1;
--- a/util.c
+++ b/util.c
@@ -91,21 +91,6 @@
return vec3len(subpt3(a, b)) < ε2;
}
-Quaternion
-qsandwich(Quaternion q, Quaternion p)
-{
- return mulq(mulq(q, p), invq(q));
-}
-
-Point3
-qsandwichpt3(Quaternion q, Point3 p)
-{
- Quaternion r;
-
- r = qsandwich(q, Quatvec(0, p));
- return Pt3(r.i, r.j, r.k, p.w);
-}
-
void
memsetf(void *dp, float v, usize len)
{