Lines Matching refs:trn
157 static void tri_intersect(tri *trn, ray *ry) { in tri_intersect() argument
162 CROSS(pvec, ry->d, trn->edge2); in tri_intersect()
165 det = DOT(trn->edge1, pvec); in tri_intersect()
173 SUB(tvec, ry->o, trn->v0); in tri_intersect()
181 CROSS(qvec, tvec, trn->edge1); in tri_intersect()
189 t = DOT(trn->edge2, qvec) * inv_det; in tri_intersect()
191 add_intersection(t, (object *)trn, ry); in tri_intersect()
194 static void tri_normal(tri *trn, vector *pnt, ray *incident, vector *N) { in tri_normal() argument
195 CROSS((*N), trn->edge1, trn->edge2); in tri_normal()
206 static void stri_normal(stri *trn, vector *pnt, ray *incident, vector *N) { in stri_normal() argument
210 CROSS(norm, trn->edge1, trn->edge2); in stri_normal()
213 VSUB((*pnt), trn->v0, P); in stri_normal()
215 CROSS(tmp, P, trn->edge2); in stri_normal()
218 CROSS(tmp, trn->edge1, P); in stri_normal()
223 N->x = W * trn->n0.x + U * trn->n1.x + V * trn->n2.x; in stri_normal()
224 N->y = W * trn->n0.y + U * trn->n1.y + V * trn->n2.y; in stri_normal()
225 N->z = W * trn->n0.z + U * trn->n1.z + V * trn->n2.z; in stri_normal()