summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'main.c')
-rw-r--r--main.c25
1 files changed, 21 insertions, 4 deletions
diff --git a/main.c b/main.c
index 446c3de..e4e5c8d 100644
--- a/main.c
+++ b/main.c
@@ -678,6 +678,23 @@ shade(Memimage *dst, Shader *s)
chanfree(donec);
}
+Point3
+ivshader(VSparams *sp)
+{
+ Matrix3 M, D, V;
+
+ identity3(M);
+ identity3(D);
+ identity3(V);
+ mulm3(M, rota);
+ mulm3(D, proj);
+ mulm3(V, view);
+ mulm3(D, M);
+ mulm3(V, D);
+
+ return xform3(*sp->p, V);
+}
+
Memimage *
triangleshader(FSparams *sp)
{
@@ -793,10 +810,10 @@ boxshader(FSparams *sp)
}
Shader shadertab[] = {
- { "triangle", vertshader, triangleshader },
- { "circle", vertshader, circleshader },
- { "box", vertshader, boxshader },
- { "sf", vertshader, sfshader },
+ { "triangle", ivshader, triangleshader },
+ { "circle", ivshader, circleshader },
+ { "box", ivshader, boxshader },
+ { "sf", ivshader, sfshader },
{ "gouraud", vertshader, gouraudshader },
{ "toon", vertshader, toonshader },
};