shithub: 3dee

Download patch

ref: 6c3772e7d7e63eede6ffd8a5d289e804ffd3f5e1
parent: b9afdc1d6809ba8b25e86684bdd3e4e5555c4eb8
author: rodri <rgl@antares-labs.eu>
date: Sun Apr 6 20:08:01 EDT 2025

small shader optimizations

--- a/shaders.inc
+++ b/shaders.inc
@@ -19,7 +19,7 @@
 	else{
 		memset(&m, 0, sizeof m);
 		m.diffuse = sp->v->c;
-		m.specular = Pt3(1,1,1,1);
+		m.specular = (Color){1,1,1,1};
 		m.shininess = 1;
 	}
 
@@ -56,7 +56,7 @@
 	if(sp->v->mtl != nil && sp->v->mtl->diffusemap != nil && sp->v->uv.w != 0)
 		tc = sampletexture(sp->v->mtl->diffusemap, sp->v->uv, tsampler);
 	else
-		tc = Pt3(1,1,1,1);
+		tc = (Color){1,1,1,1};
 
 	sp->v->n.w = 1;
 	sp->toraster(sp, "normals", &sp->v->n);
@@ -100,11 +100,11 @@
 	pos = va->p;
 
 	va = sp->getattr(sp, "ambient");
-	m.ambient = va != nil? va->p: Pt3(1,1,1,1);
+	m.ambient = va != nil? va->p: (Point3){1,1,1,1};
 	va = sp->getattr(sp, "diffuse");
 	m.diffuse = va != nil? va->p: sp->v->c;
 	va = sp->getattr(sp, "specular");
-	m.specular = va != nil? va->p: Pt3(1,1,1,1);
+	m.specular = va != nil? va->p: (Point3){1,1,1,1};
 	va = sp->getattr(sp, "shininess");
 	m.shininess = va != nil? va->n: 1;
 
@@ -116,7 +116,7 @@
 			n = sampletexture(sp->v->mtl->normalmap, sp->v->uv, neartexsampler);
 			n = normvec3(subpt3(mulpt3(n, 2), Vec3(1,1,1)));
 
-			TBN.p = Pt3(0,0,0,1);
+			TBN.p = (Point3){0,0,0,1};
 			TBN.bx = sp->v->tangent;		/* T */
 			TBN.bz = sp->v->n;			/* N */
 			TBN.by = crossvec3(TBN.bz, TBN.bx);	/* B */
@@ -181,11 +181,11 @@
 	pos = va->p;
 
 	va = sp->getattr(sp, "ambient");
-	m.ambient = va != nil? va->p: Pt3(1,1,1,1);
+	m.ambient = va != nil? va->p: (Point3){1,1,1,1};
 	va = sp->getattr(sp, "diffuse");
 	m.diffuse = va != nil? va->p: sp->v->c;
 	va = sp->getattr(sp, "specular");
-	m.specular = va != nil? va->p: Pt3(1,1,1,1);
+	m.specular = va != nil? va->p: (Point3){1,1,1,1};
 	va = sp->getattr(sp, "shininess");
 	m.shininess = va != nil? va->n: 1;
 
@@ -197,7 +197,7 @@
 			n = sampletexture(sp->v->mtl->normalmap, sp->v->uv, neartexsampler);
 			n = normvec3(subpt3(mulpt3(n, 2), Vec3(1,1,1)));
 
-			TBN.p = Pt3(0,0,0,1);
+			TBN.p = (Point3){0,0,0,1};
 			TBN.bx = sp->v->tangent;		/* T */
 			TBN.bz = sp->v->n;			/* N */
 			TBN.by = crossvec3(TBN.bz, TBN.bx);	/* B */
@@ -281,7 +281,7 @@
 	sp->v->n.w = 1;
 	sp->toraster(sp, "normals", &sp->v->n);
 
-	return Pt3(intens, 0.6*intens, 0, 1);
+	return (Point3){intens, 0.6*intens, 0, 1};
 }
 
 Point3
@@ -300,7 +300,7 @@
 	if(sp->v->mtl != nil && sp->v->mtl->diffusemap != nil && sp->v->uv.w != 0)
 		tc = sampletexture(sp->v->mtl->diffusemap, sp->v->uv, tsampler);
 	else
-		tc = Pt3(1,1,1,1);
+		tc = (Color){1,1,1,1};
 
 	sp->v->n.w = 1;
 	sp->toraster(sp, "normals", &sp->v->n);