17 float t00,
float t01,
float t02,
float t03,
18 float t10,
float t11,
float t12,
float t13,
19 float t20,
float t21,
float t22,
float t23,
20 float t30,
float t31,
float t32,
float t33
25 float t00,
float t10,
float t20,
float t30,
26 float t01,
float t11,
float t21,
float t31,
27 float t02,
float t12,
float t22,
float t32,
28 float t03,
float t13,
float t23,
float t33
47 [[nodiscard]]
static mat4f create_ortho(
float l,
float r,
float b,
float t,
float n,
float f);
66 [[nodiscard]]
float get(
int row,
int col)
const;
101 float t00,
float t01,
float t02,
float t03,
102 float t10,
float t11,
float t12,
float t13,
103 float t20,
float t21,
float t22,
float t23,
104 float t30,
float t31,
float t32,
float t33
ADD_DEFAULT_FORMATTER(eu::mat4f, std::string, eu::to_string)
constexpr mat4f m4_identity
Angle operator+(const Angle &lhs, const Angle &rhs)
Angle operator-(const Angle &lhs, const Angle &rhs)
std::string to_string(const Aabb &a)
Angle operator*(const Angle &lhs, float rhs)
static mat4f from_axis_angle(const AxisAngle &aa)
mat4f get_translated(const vec3f &t) const
constexpr static mat4f from_scalar(float scalar)
vec3f get_transform_point(const vec3f &p) const
void operator+=(const mat4f &rhs)
unit3f get_z_axis() const
float * get_column_major()
mat4f get_rotated(const AxisAngle &aa) const
mat4f get_scaled(const Scale3f &scale) const
unit3f get_axis(int col) const
float get(int row, int col) const
static mat4f from_major(const vec4f &major)
static mat4f from_rot_y(const Angle &a)
static mat4f from_rot_x(const Angle &a)
static mat4f from_col_major(float t00, float t01, float t02, float t03, float t10, float t11, float t12, float t13, float t20, float t21, float t22, float t23, float t30, float t31, float t32, float t33)
static mat4f from_scale(const Scale3f &scale)
mat4f get_inverted() const
void operator-=(const mat4f &rhs)
vec3f get_transform_vec(const vec3f &p) const
static mat4f create_perspective(const Angle &fov, float a, float near, float far)
constexpr static mat4f from_row_major(float t00, float t10, float t20, float t30, float t01, float t11, float t21, float t31, float t02, float t12, float t22, float t32, float t03, float t13, float t23, float t33)
unit3f get_x_axis() const
vec4f get_column(int c) const
vec3f get_translation() const
static mat4f create_ortho(float l, float r, float b, float t, float n, float f)
unit3f get_y_axis() const
static mat4f from_translation(const vec3f &v)
mat4f get_transposed() const
static mat4f from_rot_z(const Angle &a)
vec4f get_row(int r) const
vec4f get_transform(const vec4f &p) const