Add mat4_t casts to matrix macros
This commit is contained in:
1 parent
d221bb6c07
commit
4249023d33
1 file changed
+8
-6
+8
-6
@@ -15,8 +15,9 @@ typedef struct {
|
|||||||
vec4_t x, y, z, w;
|
vec4_t x, y, z, w;
|
||||||
} mat4_t;
|
} mat4_t;
|
||||||
|
|
||||||
|
// clang-format off
|
||||||
#define MAT4_ID \
|
#define MAT4_ID \
|
||||||
{ \
|
(mat4_t) { \
|
||||||
{ 1, 0, 0, 0 }, \
|
{ 1, 0, 0, 0 }, \
|
||||||
{ 0, 1, 0, 0 }, \
|
{ 0, 1, 0, 0 }, \
|
||||||
{ 0, 0, 1, 0 }, \
|
{ 0, 0, 1, 0 }, \
|
||||||
@@ -24,7 +25,7 @@ typedef struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#define MAT4_SCALE(sf) \
|
#define MAT4_SCALE(sf) \
|
||||||
{ \
|
(mat4_t) { \
|
||||||
{ sf, 0, 0, 0 }, \
|
{ sf, 0, 0, 0 }, \
|
||||||
{ 0, sf, 0, 0 }, \
|
{ 0, sf, 0, 0 }, \
|
||||||
{ 0, 0, sf, 0 }, \
|
{ 0, 0, sf, 0 }, \
|
||||||
@@ -32,7 +33,7 @@ typedef struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#define MAT4_TRANSLATE(x, y, z) \
|
#define MAT4_TRANSLATE(x, y, z) \
|
||||||
{ \
|
(mat4_t) { \
|
||||||
{ 1, 0, 0, 0 }, \
|
{ 1, 0, 0, 0 }, \
|
||||||
{ 0, 1, 0, 0 }, \
|
{ 0, 1, 0, 0 }, \
|
||||||
{ 0, 0, 1, 0 }, \
|
{ 0, 0, 1, 0 }, \
|
||||||
@@ -40,7 +41,7 @@ typedef struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#define MAT4_ROTATE_X(a) \
|
#define MAT4_ROTATE_X(a) \
|
||||||
{ \
|
(mat4_t) { \
|
||||||
{ 1, 0, 0, 0 }, \
|
{ 1, 0, 0, 0 }, \
|
||||||
{ 0, cosf(a), sinf(a), 0 }, \
|
{ 0, cosf(a), sinf(a), 0 }, \
|
||||||
{ 0, -sinf(a), cosf(a), 0 }, \
|
{ 0, -sinf(a), cosf(a), 0 }, \
|
||||||
@@ -48,7 +49,7 @@ typedef struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#define MAT4_ROTATE_Y(a) \
|
#define MAT4_ROTATE_Y(a) \
|
||||||
{ \
|
(mat4_t) { \
|
||||||
{ cosf(a), 0, -sinf(a), 0 }, \
|
{ cosf(a), 0, -sinf(a), 0 }, \
|
||||||
{ 0, 1, 0, 0 }, \
|
{ 0, 1, 0, 0 }, \
|
||||||
{ sinf(a), 0, cosf(a), 0 }, \
|
{ sinf(a), 0, cosf(a), 0 }, \
|
||||||
@@ -56,12 +57,13 @@ typedef struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#define MAT4_ROTATE_Z(a) \
|
#define MAT4_ROTATE_Z(a) \
|
||||||
{ \
|
(mat4_t) { \
|
||||||
{ cosf(a), sinf(a), 0, 0 }, \
|
{ cosf(a), sinf(a), 0, 0 }, \
|
||||||
{ -sinf(a), cosf(a), 0, 0 }, \
|
{ -sinf(a), cosf(a), 0, 0 }, \
|
||||||
{ 0, 0, 1, 0 }, \
|
{ 0, 0, 1, 0 }, \
|
||||||
{ 0, 0, 0, 1 }, \
|
{ 0, 0, 0, 1 }, \
|
||||||
}
|
}
|
||||||
|
// clang-format on
|
||||||
|
|
||||||
vec3_t vec3_sub(vec3_t v, vec3_t u);
|
vec3_t vec3_sub(vec3_t v, vec3_t u);
|
||||||
float vec3_len(vec3_t v);
|
float vec3_len(vec3_t v);
|
||||||
|
|||||||
Reference in new issue
Block a user