|
constexpr | matrix2 (matrix2 const &) noexcept=default |
|
constexpr | matrix2 (matrix2 &&) noexcept=default |
|
constexpr matrix2 & | operator= (matrix2 const &) noexcept=default |
|
constexpr matrix2 & | operator= (matrix2 &&) noexcept=default |
|
constexpr | matrix2 () noexcept |
| Constructs an identity matrix.
|
|
constexpr | matrix2 (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 | matrix2 (vector3 col0, vector3 col1, vector3 col2, vector3 col3=vector3{}) noexcept |
| Construct a matrix from four vectors.
|
|
constexpr | matrix2 (vector2 col0, vector2 col1) noexcept |
| Construct a matrix from two vectors.
|
|
constexpr | matrix2 (float c0r0, float c1r0, float c2r0, float c0r1, float c1r1, float c2r1, float c0r2, float c1r2, float c2r2) noexcept |
| Construct a 3x3 matrix from scalar values.
|
|
constexpr | matrix2 (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 | matrix2 (translate2 const &rhs) noexcept |
|
constexpr | matrix2 (scale2 const &rhs) noexcept |
|
constexpr | matrix2 (rotate2 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 matrix2 | 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(matrix2 const &rhs) noexcept
Get a column.
Definition matrix2.hpp:255
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.