Lines Matching refs:pOut
24 VEC4Add(VEC4* pOut, const VEC4* p1, const VEC4* p2)
26 pOut->x = p1->x + p2->x;
27 pOut->y = p1->y + p2->y;
28 pOut->z = p1->z + p2->z;
29 pOut->w = p1->w + p2->w;
31 return pOut;
74 VEC4Lerp(VEC4* pOut, const VEC4* __restrict p1, const VEC4* __restrict p2, f32 t)
77 pOut->x = p1->x + t * (p2->x - p1->x);
78 pOut->y = p1->y + t * (p2->y - p1->y);
79 pOut->z = p1->z + t * (p2->z - p1->z);
80 pOut->w = p1->w + t * (p2->w - p1->w);
82 return pOut;
86 VEC4Maximize(VEC4* pOut, const VEC4* p1, const VEC4* p2)
88 pOut->x = (p1->x > p2->x) ? p1->x : p2->x;
89 pOut->y = (p1->y > p2->y) ? p1->y : p2->y;
90 pOut->z = (p1->z > p2->z) ? p1->z : p2->z;
91 pOut->w = (p1->w > p2->w) ? p1->w : p2->w;
93 return pOut;
96 VEC4Mult(VEC4* pOut, const VEC4* p1, const VEC4* p2)
98 pOut->x = p1->x * p2->x;
99 pOut->y = p1->y * p2->y;
100 pOut->z = p1->z * p2->z;
101 pOut->w = p1->w * p2->w;
102 return pOut;
106 VEC4Normalize(VEC4* pOut, const VEC4* p)
108 (void)VEC4Scale(pOut, p, FrSqrt(VEC4LenSq(p)));
110 return pOut;
114 VEC4SafeNormalize(VEC4* pOut, const VEC4* p, const VEC4& alt)
116 NN_NULL_ASSERT(pOut);
123 *pOut = alt;
125 return pOut;
128 (void)VEC4Scale(pOut, p, FrSqrt(mag));
130 return pOut;
134 VEC4Minimize(VEC4* pOut, const VEC4* p1, const VEC4* p2)
136 pOut->x = (p1->x < p2->x) ? p1->x : p2->x;
137 pOut->y = (p1->y < p2->y) ? p1->y : p2->y;
138 pOut->z = (p1->z < p2->z) ? p1->z : p2->z;
139 pOut->w = (p1->w < p2->w) ? p1->w : p2->w;
141 return pOut;
145 VEC4Scale(VEC4* pOut, const VEC4* p, f32 scale)
147 pOut->x = scale * p->x;
148 pOut->y = scale * p->y;
149 pOut->z = scale * p->z;
150 pOut->w = scale * p->w;
152 return pOut;
156 VEC4Sub(VEC4* pOut, const VEC4* p1, const VEC4* p2)
158 pOut->x = p1->x - p2->x;
159 pOut->y = p1->y - p2->y;
160 pOut->z = p1->z - p2->z;
161 pOut->w = p1->w - p2->w;
163 return pOut;