 |
Open Broadcaster Software
Free, open source software for live streaming and recording
|
Go to the documentation of this file.
38 static inline void matrix3_copy(
struct matrix3 *dst,
const struct matrix3 *
m)
40 vec3_copy(&dst->
x, &
m->x);
41 vec3_copy(&dst->
y, &
m->y);
42 vec3_copy(&dst->
z, &
m->z);
43 vec3_copy(&dst->
t, &
m->t);
46 static inline void matrix3_identity(
struct matrix3 *dst)
52 dst->
x.
x = dst->
y.
y = dst->
z.
z = 1.0f;
61 static inline void matrix3_translate(
struct matrix3 *dst,
65 vec3_sub(&dst->
t, &
m->t, v);
69 const struct quat *q);
73 const struct vec3 *v);
78 const struct plane *p);
80 const struct vec3 *v);
82 static inline void matrix3_translate3f(
struct matrix3 *dst,
87 vec3_set(&v,
x,
y,
z);
88 matrix3_translate(dst,
m, &v);
91 static inline void matrix3_rotate_aa4f(
struct matrix3 *dst,
93 float y,
float z,
float rot)
96 axisang_set(&aa,
x,
y,
z, rot);
101 float x,
float y,
float z)
104 vec3_set(&v,
x,
y,
z);
EXPORT void matrix3_from_matrix4(struct matrix3 *dst, const struct matrix4 *m)
EXPORT void matrix3_from_axisang(struct matrix3 *dst, const struct axisang *aa)
EXPORT void matrix3_mirrorv(struct matrix3 *dst, const struct matrix3 *m, const struct vec3 *v)
#define EXPORT
Definition: c99defs.h:37
float x
Definition: axisang.h:31
EXPORT void matrix3_transpose(struct matrix3 *dst, const struct matrix3 *m)
float z
Definition: vec3.h:37
float z
Definition: axisang.h:31
struct vec3 y
Definition: matrix3.h:33
struct vec3 x
Definition: matrix3.h:32
struct vec3 z
Definition: matrix3.h:34
float y
Definition: vec3.h:37
struct vec3 t
Definition: matrix3.h:35
EXPORT void matrix3_mirror(struct matrix3 *dst, const struct matrix3 *m, const struct plane *p)
EXPORT void matrix3_from_quat(struct matrix3 *dst, const struct quat *q)
__m128 m
Definition: vec3.h:40
EXPORT void matrix3_scale(struct matrix3 *dst, const struct matrix3 *m, const struct vec3 *v)
float x
Definition: vec3.h:37
float y
Definition: axisang.h:31
EXPORT void matrix3_rotate(struct matrix3 *dst, const struct matrix3 *m, const struct quat *q)
EXPORT void matrix3_inv(struct matrix3 *dst, const struct matrix3 *m)
EXPORT void matrix3_rotate_aa(struct matrix3 *dst, const struct matrix3 *m, const struct axisang *aa)
EXPORT void matrix3_mul(struct matrix3 *dst, const struct matrix3 *m1, const struct matrix3 *m2)