From 3c74a293451cb8e2992332e2d275823c2a0cb01e Mon Sep 17 00:00:00 2001 From: rodri Date: Mon, 18 Dec 2023 00:41:56 +0000 Subject: fix the vertex shader for some of the shading pipelines. --- main.c | 25 +++++++++++++++++++++---- 1 file 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 }, }; -- cgit v1.2.3