mirror of
https://github.com/guezoloic/t3dsr.git
synced 2026-01-25 13:34:24 +00:00
feat: rename and change few things
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
#include "matrix3.h"
|
||||
#include "mat3.h"
|
||||
#include <string.h>
|
||||
|
||||
Mat3 mat3(float arr[9])
|
||||
Mat3 mat3(const float arr[9])
|
||||
{
|
||||
Mat3 mat;
|
||||
memcpy(mat.m, arr, 9*sizeof(float));
|
||||
@@ -90,30 +90,30 @@ Mat3 mat3_tpo(const Mat3* m)
|
||||
return mat;
|
||||
}
|
||||
|
||||
float mat3_det(const Mat3* m)
|
||||
float mat3_Det(const Mat3* m)
|
||||
{
|
||||
return m->m[0] * (m->m[4] * m->m[8] - m->m[5] * m->m[7]) -
|
||||
m->m[1] * (m->m[3] * m->m[8] - m->m[5] * m->m[6]) +
|
||||
m->m[2] * (m->m[3] * m->m[7] - m->m[4] * m->m[6]);
|
||||
}
|
||||
|
||||
// Mat3 Mat3Inv(Mat3 m) {
|
||||
// Mat3 inv;
|
||||
// float det = Mat3Det(m);
|
||||
// if (det == 0) return Mat3Ity();
|
||||
Mat3 mat3_inv(const Mat3* m) {
|
||||
Mat3 inv;
|
||||
float det = mat3_det(m);
|
||||
if (det == 0) return mat3_ity();
|
||||
|
||||
// float invDet = 1.0f / det;
|
||||
float invDet = 1.0f / det;
|
||||
|
||||
// // ???
|
||||
// inv.m[0] = (m->m[4] * m->m[8] - m->m[5] * m->m[7]) * invDet;
|
||||
// inv.m[1] = -(m->m[1] * m->m[8] - m->m[2] * m->m[7]) * invDet;
|
||||
// inv.m[2] = (m->m[1] * m->m[5] - m->m[2] * m->m[4]) * invDet;
|
||||
// inv.m[3] = -(m->m[3] * m->m[8] - m->m[5] * m->m[6]) * invDet;
|
||||
// inv.m[4] = (m->m[0] * m->m[8] - m->m[2] * m->m[6]) * invDet;
|
||||
// inv.m[5] = -(m->m[0] * m->m[5] - m->m[2] * m->m[3]) * invDet;
|
||||
// inv.m[6] = (m->m[3] * m->m[7] - m->m[4] * m->m[6]) * invDet;
|
||||
// inv.m[7] = -(m->m[0] * m->m[7] - m->m[1] * m->m[6]) * invDet;
|
||||
// inv.m[8] = (m->m[0] * m->m[4] - m->m[1] * m->m[3]) * invDet;
|
||||
// ???
|
||||
inv.m[0] = (m->m[4] * m->m[8] - m->m[5] * m->m[7]) * invDet;
|
||||
inv.m[1] = -(m->m[1] * m->m[8] - m->m[2] * m->m[7]) * invDet;
|
||||
inv.m[2] = (m->m[1] * m->m[5] - m->m[2] * m->m[4]) * invDet;
|
||||
inv.m[3] = -(m->m[3] * m->m[8] - m->m[5] * m->m[6]) * invDet;
|
||||
inv.m[4] = (m->m[0] * m->m[8] - m->m[2] * m->m[6]) * invDet;
|
||||
inv.m[5] = -(m->m[0] * m->m[5] - m->m[2] * m->m[3]) * invDet;
|
||||
inv.m[6] = (m->m[3] * m->m[7] - m->m[4] * m->m[6]) * invDet;
|
||||
inv.m[7] = -(m->m[0] * m->m[7] - m->m[1] * m->m[6]) * invDet;
|
||||
inv.m[8] = (m->m[0] * m->m[4] - m->m[1] * m->m[3]) * invDet;
|
||||
|
||||
// return inv;
|
||||
// }
|
||||
return inv;
|
||||
}
|
||||
@@ -6,7 +6,7 @@ typedef struct
|
||||
float m[9];
|
||||
} Mat3;
|
||||
|
||||
Mat3 mat3(float arr[9]);
|
||||
Mat3 mat3(const float arr[9]);
|
||||
Mat3 mat3_zro();
|
||||
Mat3 mat3_ity();
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <float.h>
|
||||
|
||||
#include "vector3.h"
|
||||
#include "vec3.h"
|
||||
|
||||
inline Vec3 vec3(float x, float y, float z)
|
||||
{
|
||||
@@ -24,11 +24,6 @@ Vec3 vec3_scale(Vec3 v, float scalar)
|
||||
return vec3(v.x * scalar, v.y * scalar, v.z * scalar);
|
||||
}
|
||||
|
||||
Vec3 vec3_mul(Vec3 v1, Vec3 v2)
|
||||
{
|
||||
return vec3(v1.x * v2.x, v1.y * v2.y, v1.z * v2.z);
|
||||
}
|
||||
|
||||
float vec3_dot(Vec3 a, Vec3 b)
|
||||
{
|
||||
return a.x * b.x + a.y * b.y + a.z * b.z;
|
||||
@@ -2,7 +2,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <float.h>
|
||||
|
||||
#include "vector4.h"
|
||||
#include "vec4.h"
|
||||
|
||||
inline Vec4 vec4(float x, float y, float z, float w)
|
||||
{
|
||||
Reference in New Issue
Block a user