X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=vg_m.h;h=ca3308b959be06bb9156666ef6814b50a160e43d;hb=40382fa2a3d250ef1e0f1716f3608d0d60e0e655;hp=4429aa71858c08995c3a4edbaf02331b4a76fbd3;hpb=4413afbde4ade6c75ae2acf0404bf147c2e30d70;p=vg.git diff --git a/vg_m.h b/vg_m.h index 4429aa7..ca3308b 100644 --- a/vg_m.h +++ b/vg_m.h @@ -714,13 +714,16 @@ static inline void m3x3_translate( m3x3f m, v3f v ) static inline void m3x3_scale( m3x3f m, v3f v ) { - m[0][0] = m[0][0] * v[0]; - m[0][1] = m[0][1] * v[0]; - m[0][2] = m[0][2] * v[0]; + v3_muls( m[0], v[0], m[0] ); + v3_muls( m[1], v[1], m[1] ); + v3_muls( m[2], v[2], m[2] ); +} - m[1][0] = m[1][0] * v[1]; - m[1][1] = m[1][1] * v[1]; - m[1][2] = m[1][2] * v[1]; +static inline void m3x3_scalef( m3x3f m, float f ) +{ + v3f v; + v3_fill( v, f ); + m3x3_scale( m, v ); } static inline void m3x3_rotate( m3x3f m, float angle ) @@ -880,20 +883,6 @@ static inline void m4x3_translate( m4x3f m, v3f v ) v3_muladds( m[3], m[2], v[2], m[3] ); } -static inline void m4x3_scale( m4x3f m, float s ) -{ - v3_muls( m[0], s, m[0] ); - v3_muls( m[1], s, m[1] ); - v3_muls( m[2], s, m[2] ); -} - -static inline void m4x3_scalev( m4x3f m, v3f v ) -{ - v3_muls(m[0], v[0], m[0]); - v3_muls(m[1], v[1], m[1]); - v3_muls(m[2], v[2], m[2]); -} - static inline void m4x3_rotate_x( m4x3f m, float angle ) { m4x3f t = M4X3_IDENTITY; @@ -1386,8 +1375,7 @@ static inline void q_inv( v4f q, v4f d ) static inline void q_nlerp( v4f a, v4f b, float t, v4f d ) { - if( v4_dot(a,b) < 0.0f ) - { + if( v4_dot(a,b) < 0.0f ){ v4_muls( b, -1.0f, d ); v4_lerp( a, d, t, d ); }