18 lines
588 B
C
18 lines
588 B
C
#pragma once
|
|
#include "gryphn_vec3.h"
|
|
|
|
typedef struct gnMat4x4 {
|
|
float mat[4][4];
|
|
} gnMat4x4;
|
|
typedef gnMat4x4 gnMat4;
|
|
|
|
gnMat4x4 gnIdentity(void);
|
|
gnMat4x4 gnOrthographic(float left, float right, float top, float bottom, float near, float far);
|
|
gnMat4x4 gnProjection(float fov, float aspect, float near, float far);
|
|
gnMat4x4 gnTranslate(gnVec3 translation);
|
|
gnMat4x4 gnRotate(gnVec3 axis, float rotation);
|
|
gnMat4x4 gnScale(gnVec3 amount);
|
|
gnMat4x4 gnLookAt(gnVec3 eye, gnVec3 center, gnVec3 up);
|
|
gnMat4x4 gnMultiply(gnMat4 a, gnMat4 b);
|
|
gnVec3 gnMat4MultiplyVec3(gnMat4 m, gnVec3 v);
|