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);