ref: 91e9a3a7802c54e7257f0065601ca68478ebf372
parent: da93fdf0ecfede73fbff566f8cd03141e8af6385
author: rodri <rgl@antares-labs.eu>
date: Sun Jun 15 20:09:37 EDT 2025
some code improvements
--- a/render.c
+++ b/render.c
@@ -714,16 +714,9 @@
p->v[2].p = clip2ndc(p->v[2].p);
/* culling */
- switch(params->camera->cullmode){
- case CullFront:
- if(!isfacingback(p))
- goto skiptri;
- break;
- case CullBack:
- if(isfacingback(p))
- goto skiptri;
- break;
- }
+ if((params->camera->cullmode == CullFront && !isfacingback(p))
+ || (params->camera->cullmode == CullBack && isfacingback(p)))
+ goto skiptri;
p->v[0].p = ndc2viewport(params->fb, p->v[0].p);
p->v[1].p = ndc2viewport(params->fb, p->v[1].p);
--- a/xform.c
+++ b/xform.c
@@ -144,7 +144,7 @@
double cotan;
cotan = 1/tan(fovy/2);
- memset(m, 0, 4*4*sizeof(double));
+ memset(m, 0, sizeof(Matrix3));
m[0][0] = cotan/a;
m[1][1] = cotan;
m[2][2] = (f+n)/(f-n);
--
⑨