|
constexpr | matrix3 (matrix3 const &) noexcept=default |
|
constexpr | matrix3 (matrix3 &&) noexcept=default |
|
constexpr matrix3 & | operator= (matrix3 const &) noexcept=default |
|
constexpr matrix3 & | operator= (matrix3 &&) noexcept=default |
|
constexpr | matrix3 () noexcept |
| Constructs an identity matrix.
|
|
constexpr | matrix3 (f32x4 col0, f32x4 col1, f32x4 col2, f32x4 col3=f32x4{0.0f, 0.0f, 0.0f, 1.0f}) noexcept |
| Construct a matrix from four columns.
|
|
constexpr | matrix3 (vector3 col0, vector3 col1, vector3 col2, vector3 col3=vector3{}) noexcept |
| Construct a matrix from four vectors.
|
|
constexpr | matrix3 (float c0r0, float c1r0, float c2r0, float c0r1, float c1r1, float c2r1, float c0r2, float c1r2, float c2r2) noexcept |
| Construct a matrix from two vectors.
|
|
constexpr | matrix3 (float c0r0, float c1r0, float c2r0, float c3r0, float c0r1, float c1r1, float c2r1, float c3r1, float c0r2, float c1r2, float c2r2, float c3r2, float c0r3, float c1r3, float c2r3, float c3r3) noexcept |
| Construct a 4x4 matrix from scalar values.
|
|
constexpr | matrix3 (matrix2 const &other) noexcept |
| Copy-construct a matrix from a smaller matrix.
|
|
constexpr | operator matrix2 () const noexcept |
|
constexpr | matrix3 (scale3 const &rhs) noexcept |
|
constexpr | matrix3 (translate3 const &rhs) noexcept |
|
constexpr | matrix3 (rotate3 const &rhs) noexcept |
| Convert quaternion to matrix.
|
|
constexpr | operator std::array< f32x4, 4 > () const noexcept |
| Convert a point to its f32x4-nummeric_array.
|
|
constexpr bool | holds_invariant () const noexcept |
|
constexpr f32x4 | operator* (f32x4 const &rhs) const noexcept |
| Transform a f32x4 numeric array by the matrix.
|
|
constexpr matrix3 | operator~ () const |
| Invert matrix.
|
|
A 2D or 3D homogenius matrix for transforming homogenious vectors and points.
This matrix is in column major order. It is implemented as 4 columns made from a f32x4
numeric-array.
Reflect axis of a matrix.
The default axis of HikoGUI's geometry system are:
+y
| /
| /
|/
-x ----+---- +x
/|
/ |
/ |
+z |
-y
friend constexpr f32x4 const & get(matrix3 const &rhs) noexcept
Get a column.
Definition matrix3.hpp:271
In Vulkan the Y axis is downward; so to translate a matrix from HikoGUI to Vulkan you can use:
The original axis are defined as the lower-case characters 'x', 'y', 'z' and 'w'; or for the negated axis as the upper-case characters 'X', 'Y', 'Z' and 'W'.
- Template Parameters
-
DstX | Which of the original axis to use for the new matrix's x-axis. |
DstY | Which of the original axis to use for the new matrix's y-axis. |
DstZ | Which of the original axis to use for the new matrix's z-axis. |
DstW | Which of the original axis to use for the new matrix's w-axis. |
- Parameters
-
- Returns
- The reflected matrix.