mirror of
https://github.com/HandmadeMath/HandmadeMath.git
synced 2025-09-10 20:28:15 +00:00
Merge pull request #17 from bvisness/add-mat4
Implement addition for mat4's
This commit is contained in:
@@ -357,6 +357,7 @@ HMMDEF hmm_vec4 HMM_DivideVec4(hmm_vec4 Left, hmm_vec4 Right);
|
|||||||
|
|
||||||
HMMDEF hmm_mat4 HMM_Mat4(void);
|
HMMDEF hmm_mat4 HMM_Mat4(void);
|
||||||
HMMDEF hmm_mat4 HMM_Mat4d(float Diagonal);
|
HMMDEF hmm_mat4 HMM_Mat4d(float Diagonal);
|
||||||
|
HMMDEF hmm_mat4 HMM_AddMat4(hmm_mat4 Left, hmm_mat4 Right);
|
||||||
HMMDEF hmm_mat4 HMM_MultiplyMat4(hmm_mat4 Left, hmm_mat4 Right);
|
HMMDEF hmm_mat4 HMM_MultiplyMat4(hmm_mat4 Left, hmm_mat4 Right);
|
||||||
HMMDEF hmm_vec4 HMM_MultiplyMat4ByVec4(hmm_mat4 Matrix, hmm_vec4 Vector);
|
HMMDEF hmm_vec4 HMM_MultiplyMat4ByVec4(hmm_mat4 Matrix, hmm_vec4 Vector);
|
||||||
|
|
||||||
@@ -395,6 +396,7 @@ HMMDEF hmm_vec4 HMM_Divide(int X, int Y, int Z, int W);
|
|||||||
HMMDEF hmm_vec2 operator+(hmm_vec2 Left, hmm_vec2 Right);
|
HMMDEF hmm_vec2 operator+(hmm_vec2 Left, hmm_vec2 Right);
|
||||||
HMMDEF hmm_vec3 operator+(hmm_vec3 Left, hmm_vec3 Right);
|
HMMDEF hmm_vec3 operator+(hmm_vec3 Left, hmm_vec3 Right);
|
||||||
HMMDEF hmm_vec4 operator+(hmm_vec4 Left, hmm_vec4 Right);
|
HMMDEF hmm_vec4 operator+(hmm_vec4 Left, hmm_vec4 Right);
|
||||||
|
HMMDEF hmm_mat4 operator+(hmm_mat4 Left, hmm_mat4 Right);
|
||||||
|
|
||||||
HMMDEF hmm_vec2 operator-(hmm_vec2 Left, hmm_vec2 Right);
|
HMMDEF hmm_vec2 operator-(hmm_vec2 Left, hmm_vec2 Right);
|
||||||
HMMDEF hmm_vec3 operator-(hmm_vec3 Left, hmm_vec3 Right);
|
HMMDEF hmm_vec3 operator-(hmm_vec3 Left, hmm_vec3 Right);
|
||||||
@@ -836,6 +838,24 @@ HMM_Mat4d(float Diagonal)
|
|||||||
return (Result);
|
return (Result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HINLINE hmm_mat4
|
||||||
|
HMM_AddMat4(hmm_mat4 Left, hmm_mat4 Right)
|
||||||
|
{
|
||||||
|
hmm_mat4 Result;
|
||||||
|
|
||||||
|
int Rows;
|
||||||
|
for (Rows = 0; Rows < 4; ++Rows)
|
||||||
|
{
|
||||||
|
int Columns;
|
||||||
|
for (Columns = 0; Columns < 4; ++Columns)
|
||||||
|
{
|
||||||
|
Result.Elements[Rows][Columns] = Left.Elements[Rows][Columns] + Right.Elements[Rows][Columns];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return (Result);
|
||||||
|
}
|
||||||
|
|
||||||
hmm_mat4
|
hmm_mat4
|
||||||
HMM_MultiplyMat4(hmm_mat4 Left, hmm_mat4 Right)
|
HMM_MultiplyMat4(hmm_mat4 Left, hmm_mat4 Right)
|
||||||
{
|
{
|
||||||
@@ -1019,6 +1039,14 @@ Add(hmm_vec4 Left, hmm_vec4 Right)
|
|||||||
return (Result);
|
return (Result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HINLINE hmm_mat4
|
||||||
|
Add(hmm_mat4 Left, hmm_mat4 Right)
|
||||||
|
{
|
||||||
|
hmm_mat4 Result = HMM_AddMat4(Left, Right);
|
||||||
|
|
||||||
|
return (Result);
|
||||||
|
}
|
||||||
|
|
||||||
HINLINE hmm_vec2
|
HINLINE hmm_vec2
|
||||||
Subtract(hmm_vec2 Left, hmm_vec2 Right)
|
Subtract(hmm_vec2 Left, hmm_vec2 Right)
|
||||||
{
|
{
|
||||||
@@ -1131,6 +1159,14 @@ operator+(hmm_vec4 Left, hmm_vec4 Right)
|
|||||||
return (Result);
|
return (Result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HINLINE hmm_mat4
|
||||||
|
operator+(hmm_mat4 Left, hmm_mat4 Right)
|
||||||
|
{
|
||||||
|
hmm_mat4 Result = Add(Left, Right);
|
||||||
|
|
||||||
|
return (Result);
|
||||||
|
}
|
||||||
|
|
||||||
HINLINE hmm_vec2
|
HINLINE hmm_vec2
|
||||||
operator-(hmm_vec2 Left, hmm_vec2 Right)
|
operator-(hmm_vec2 Left, hmm_vec2 Right)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user