![]() |
SH4ZAM! 0.9.1
Fast math library for the Sega Dreamcast's SH4 CPU
|
#include <shz_xmtrx.hpp>
Public Types | |
| enum | reg { XF0 , XF1 , XF2 , XF3 , XF4 , XF5 , XF6 , XF7 , XF8 , XF9 , XF10 , XF11 , XF12 , XF13 , XF14 , XF15 } |
| using | reg_t |
Static Public Member Functions | |
Accessors | |
Setting and retrieving individual XMTRX register values. | |
| static float | read (reg xf) noexcept |
| static void | write (reg xf, float value) noexcept |
| static vec4 | read_row (unsigned int index) noexcept |
| static vec4 | read_col (unsigned int index) noexcept |
| static void | write_row (unsigned int index, const vec4 &vector) noexcept |
| static void | write_col (unsigned int index, const vec4 &vector) noexcept |
| static void | swap_rows (unsigned int index1, unsigned int index2) noexcept |
| static void | swap_cols (unsigned int index1, unsigned int index2) noexcept |
Loading | |
Routines for loading XMTRX contents from memory. | |
| static void | load (const shz_mat4x4_t &mat4) noexcept |
| static void | load (const float cArray[16]) noexcept |
| static void | load (const std::array< float, 16 > &array) noexcept |
| static void | load (const shz_mat3x4_t &mat) noexcept |
| static void | load_transpose (const shz_mat4x4_t &mat4) noexcept |
| static void | load_transpose (const float cArray[16]) noexcept |
| static void | load_transpose (const std::array< float, 16 > &array) noexcept |
| static void | load_transpose (const shz_mat3x4_t &mat) noexcept |
| static void | load_wxyz (const shz_mat4x4_t &mat4) noexcept |
| static void | load_cols (const shz_vec4_t &c1, const shz_vec4_t &c2, const shz_vec4_t &c3, const shz_vec4_t &c4) noexcept |
| static void | load_cols (const shz_vec3_t &c1, const shz_vec3_t &c2, const shz_vec3_t &c3, const shz_vec3_t &c4) noexcept |
| static void | load_rows (const shz_vec4_t &r1, const shz_vec4_t &r2, const shz_vec4_t &r3, const shz_vec4_t &r4) noexcept |
| static void | load_rows (const shz_vec4_t &r1, const shz_vec4_t &r2, const shz_vec4_t &r3) noexcept |
Storing | |
Routines for saving XMTRX contents to memory. | |
| static void | store (shz_mat4x4_t *mat) noexcept |
| static void | store (float cArray[16]) noexcept |
| static void | store (shz_mat3x4_t *mat) noexcept |
| static void | store (std::array< float, 16 > *array) noexcept |
| static void | store_transpose (shz_mat4x4_t *mat) noexcept |
| static void | store_transpose (float cArray[16]) noexcept |
| static void | store_transpose (std::array< float, 16 > *array) noexcept |
| static void | store_transpose (shz_mat3x4_t *mat) noexcept |
Initialization | |
Routines used to initialize the entirety of XMTRX. | |
| static void | init_identity () noexcept |
| static void | init_identity_safe () noexcept |
| static void | init_zero () noexcept |
| static void | init_one () noexcept |
| static void | init_fill (float value) noexcept |
| static void | init_translation (float x, float y, float z) noexcept |
| static void | init_translation (const vec3 &v) noexcept |
| static void | init_scale (float x, float y, float z) noexcept |
| static void | init_scale (const vec3 &v) noexcept |
| static void | init_rotation_x (float x) noexcept |
| static void | init_rotation_y (float y) noexcept |
| static void | init_rotation_z (float z) noexcept |
| static void | init_rotation_xyz (float x, float y, float z) noexcept |
| static void | init_rotation_zyx (float z, float y, float x) noexcept |
| static void | init_rotation_zxy (float z, float x, float y) noexcept |
| static void | init_rotation_yxz (float y, float x, float z) noexcept |
| static void | init_rotation (float angle, float x, float y, float z) noexcept |
| static void | init_rotation (float angle, const vec3 &axis) noexcept |
| static void | init_rotation_dir (float angle, const vec3 &dir) noexcept |
| static void | init_diagonal (float x, float y, float z, float w) noexcept |
| static void | init_diagonal (const vec4 &v) noexcept |
| static void | init_upper_triangular (float col1, const vec2 &col2, const vec3 &col3, const vec4 &col4) noexcept |
| static void | init_lower_triangular (const vec4 &col1, const vec3 &col2, const vec2 &col3, float col4) noexcept |
| static void | init_symmetric_skew (float x, float y, float z) noexcept |
| static void | init_outer_product (const vec4 &a, const vec4 &b) noexcept |
| static void | init_screen (float width, float height) noexcept |
| static void | init_lookat (const vec3 &eye, const vec3 ¢er, const vec3 &up) noexcept |
| static void | init_ortho (float left, float right, float bottom, float top, float znear, float zfar) noexcept |
| static void | init_frustum (float left, float right, float bottom, float top, float znear, float zfar) noexcept |
| static void | init_perspective (float fov, float aspect, float znear) noexcept |
| static void | init_rotation_quat (const quat &q) noexcept |
| static void | init_permutation_wxyz () noexcept |
| static void | init_permutation_yzwx () noexcept |
| static void | init_permutation_wzyx () noexcept |
Apply Operation | |
Updates only relevant values of XMTRX based on the given transform. | |
| static void | apply (const shz_mat4x4_t &mat4) noexcept |
| static void | apply (const float cArray[16]) noexcept |
| static void | apply (const std::array< float, 16 > &array) noexcept |
| static void | apply (const shz_mat3x4_t &mat) noexcept |
| static void | apply_transpose (const shz_mat4x4_t &mat4) noexcept |
| static void | apply_transpose (const float cArray[16]) noexcept |
| static void | apply_transpose (const std::array< float, 16 > &array) noexcept |
| static void | apply_transpose (const shz_mat3x4_t &mat) noexcept |
| static void | apply_reverse (const shz_mat4x4_t &mat4) noexcept |
| static void | apply_reverse (const float cArray[16]) noexcept |
| static void | apply_reverse (const std::array< float, 16 > &array) noexcept |
| static void | apply_reverse (const shz_mat3x4_t &mat) noexcept |
| static void | apply_reverse_transpose (const shz_mat4x4_t &mat4) noexcept |
| static void | apply_reverse_transpose (const float cArray[16]) noexcept |
| static void | apply_reverse_transpose (const std::array< float, 16 > &array) noexcept |
| static void | apply_reverse_transpose (const shz_mat3x4_t &mat) noexcept |
| static void | apply_translation (float x, float y, float z) noexcept |
| static void | apply_translation (const vec3 &v) noexcept |
| static void | apply_scale (float x, float y, float z) noexcept |
| static void | apply_scale (const vec3 &v) noexcept |
| static void | apply_rotation_x (float x) noexcept |
| static void | apply_rotation_y (float y) noexcept |
| static void | apply_rotation_z (float z) noexcept |
| static void | apply_rotation_xyz (float x, float y, float z) noexcept |
| static void | apply_rotation_zyx (float z, float y, float x) noexcept |
| static void | apply_rotation_zxy (float z, float x, float y) noexcept |
| static void | apply_rotation_yxz (float y, float x, float z) noexcept |
| static void | apply_rotation (float angle, float x, float y, float z) noexcept |
| static void | apply_rotation (float angle, const vec3 &axis) noexcept |
| static void | apply_rotation_quat (const quat &q) noexcept |
| static void | apply_lookat (const vec3 &eye, const vec3 ¢er, const vec3 &up) noexcept |
| static void | apply_ortho (float left, float right, float bottom, float top, float znear, float zfar) noexcept |
| static void | apply_frustum (float left, float right, float bottom, float top, float znear, float zfar) noexcept |
| static void | apply_perspective (float fov, float aspect, float znear) noexcept |
| static void | apply_symmetric_skew (float x, float y, float z) noexcept |
| static void | apply_screen (float width, float height) noexcept |
| static void | apply_permutation_wxyz () noexcept |
| static void | apply_permutation_yzwx () noexcept |
| static void | apply_permutation_wzyx () noexcept |
| static void | apply_self () noexcept |
OpenGL Operations | |
OpenGL-style matrix transformation operations. | |
| static void | translate (float x, float y, float z) noexcept |
| static void | translate (vec3 v) noexcept |
| static void | scale (float x, float y, float z) noexcept |
| static void | scale (vec3 v) noexcept |
| static void | rotate_x (float radians) noexcept |
| static void | rotate_y (float radians) noexcept |
| static void | rotate_z (float radians) noexcept |
| static void | rotate_xyz (float x, float y, float z) noexcept |
| static void | rotate_zyx (float z, float y, float x) noexcept |
| static void | rotate_zxy (float z, float x, float y) noexcept |
| static void | rotate_yxz (float y, float x, float z) noexcept |
| static void | rotate (float radians, float x, float y, float z) noexcept |
| static void | rotate (float radians, const vec3 &axis) noexcept |
Reverse GL Transformations | |
Pre-multiplication variants of OpenGL-style 4x4 matrix transforms. | |
| static void | translate_reverse (float x, float y, float z) noexcept |
| static void | translate_reverse (const shz::vec3 &pos) noexcept |
| static void | scale_reverse (float x, float y, float z) noexcept |
| static void | scale_reverse (const shz::vec3 &size) noexcept |
Compound Operations | |
Multiple operations combined into one pipelined transaction. | |
| static void | load_apply (const shz_mat4x4_t &mat1, const shz_mat4x4_t &mat2) noexcept |
| static void | load_apply (const float matrix1[16], const float matrix2[16]) noexcept |
| static void | load_apply (const shz_mat3x4_t &mat1, const shz_mat3x4_t &mat2) noexcept |
| static void | apply_store (shz_mat4x4_t *out, const shz_mat4x4_t &in) noexcept |
| static void | apply_store (float out[16], const float in[16]) noexcept |
| static void | load_apply_store (shz_mat4x4_t *dst, const shz_mat4x4_t &mat1, const shz_mat4x4_t &mat2) noexcept |
| static void | load_apply_store (float out[16], const float matrix1[16], const float matrix2[16]) noexcept |
| static void | load_apply_store (shz_mat3x4_t *dst, const shz_mat3x4_t &mat1, const shz_mat3x4_t &mat2) noexcept |
| static void | load (const shz_mat2x2_t &mat) noexcept |
| static void | store (shz_mat2x2_t *mat) noexcept |
| static void | load (const shz_mat3x3_t &mat) noexcept |
| static void | load_transpose (const shz_mat3x3_t &mat) noexcept |
| static void | store (shz_mat3x3_t *mat) noexcept |
| static void | store_transpose (shz_mat3x3_t *mat) noexcept |
| static void | apply (const shz_mat3x3_t &mat) noexcept |
| static void | apply_transpose (const shz_mat3x3_t &mat) noexcept |
| static void | load_apply_store (shz_mat3x3_t *dst, const shz_mat3x3_t &mat1, const shz_mat3x3_t &mat2) noexcept |
Transformations | |
Transforming vectors and points against XMTRX. | |
| static vec4 | transform (const vec4 &in) noexcept |
| static vec3 | transform (const vec3 &in) noexcept |
| static vec2 | transform (const vec2 &in) noexcept |
| static vec3 | transform_point (const vec3 &pt) noexcept |
| static vec2 | transform_point (const vec2 &pt) noexcept |
Setters | |
Sets the values of related XMTRX components. | |
| static void | set_translation (float x, float y, float z) noexcept |
| static void | set_translation (const vec3 &v) noexcept |
| static void | set_scale (float x, float y, float z) noexcept |
| static void | set_scale (const shz::vec3 &size) noexcept |
Getters | |
Gets the values of related XMTRX components. | |
| static vec3 | get_translation () noexcept |
| static vec3 | get_scale () noexcept |
Miscellaneous | |
Random operations and conversions on XMTRX. | |
| static void | add (const shz_mat4x4_t &mat) noexcept |
| static void | sub (const shz_mat4x4_t &mat) noexcept |
| static void | transpose () noexcept |
| static void | negate () noexcept |
| static void | abs () noexcept |
| static quat | to_quat () noexcept |
| static float | determinant () noexcept |
| static void | invert () noexcept |
| static void | blend (const shz_mat4x4_t &joint_matrix, float weight) noexcept |
Static structure around the 4x4 XMTRX FP register back-bank.
This structure provides the C++ bindings to the XMTRX API as a series of static member functions wrapping the C API.
Definition at line 34 of file shz_xmtrx.hpp.
| using shz::xmtrx::reg_t |
Non-POSIX style reg_t alias.
Definition at line 57 of file shz_xmtrx.hpp.
| enum shz::xmtrx::reg |
FP back-bank registers comprising XMTRX.
Definition at line 37 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_read().
Definition at line 65 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_write().
Definition at line 70 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_read_row().
Definition at line 75 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_read_col().
Definition at line 80 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_write_row().
Definition at line 85 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_write_col().
Definition at line 90 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_swap_rows().
Definition at line 95 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_swap_cols().
Definition at line 100 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_4x4().
Definition at line 112 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_unaligned_4x4().
Definition at line 117 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_unaligned_4x4().
Definition at line 122 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_3x4().
Definition at line 127 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_transpose_4x4().
Definition at line 132 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_transpose_unaligned_4x4().
Definition at line 137 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_transpose_unaligned_4x4().
Definition at line 142 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_transpose_3x4().
Definition at line 147 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_wxyz_4x4().
Definition at line 152 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_cols_4x4().
Definition at line 157 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_cols_3x4().
Definition at line 165 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_rows_4x4().
Definition at line 173 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_rows_3x4().
Definition at line 181 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_store_4x4().
Definition at line 195 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_store_unaligned_4x4().
Definition at line 200 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_store_3x4().
Definition at line 205 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_store_unaligned_4x4().
Definition at line 210 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_store_transpose_4x4().
Definition at line 215 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_store_transpose_unaligned_4x4().
Definition at line 220 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_store_transpose_unaligned_4x4().
Definition at line 225 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_store_transpose_3x4().
Definition at line 230 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_identity().
Definition at line 242 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_identity_safe().
Definition at line 248 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_zero().
Definition at line 253 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_one().
Definition at line 258 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_fill().
Definition at line 263 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_translation().
Definition at line 268 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_translation().
Definition at line 273 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_scale().
Definition at line 278 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_scale().
Definition at line 283 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_rotation_x().
Definition at line 288 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_rotation_y().
Definition at line 293 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_rotation_z().
Definition at line 298 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_rotation_xyz().
Definition at line 303 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_rotation_zyx().
Definition at line 308 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_rotation_zxy().
Definition at line 313 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_rotation_yxz().
Definition at line 318 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_rotation().
Definition at line 323 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_rotation().
Definition at line 328 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_rotation_axis_angle().
Definition at line 333 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_diagonal().
Definition at line 338 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_diagonal().
Definition at line 343 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_upper_triangular().
Definition at line 348 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_lower_diagonal().
Definition at line 353 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_symmetric_skew().
Definition at line 358 of file shz_xmtrx.hpp.
C++ wrapper around shz_xmtrx_init_outer_product().
Definition at line 363 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_screen().
Definition at line 368 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_lookat().
Definition at line 373 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_ortho().
Definition at line 378 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_frustum().
Definition at line 383 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_perspective().
Definition at line 388 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_rotation_quat().
Definition at line 393 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_permutation_wxyz().
Definition at line 398 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_permutation_yzwx().
Definition at line 403 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_permutation_wzyx().
Definition at line 408 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_4x4().
Definition at line 420 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_unaligned_4x4().
Definition at line 425 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_unaligned_4x4().
Definition at line 430 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_3x4().
Definition at line 435 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_transpose_4x4().
Definition at line 440 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_transpose_unaligned_4x4().
Definition at line 445 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_transpose_unaligned_4x4().
Definition at line 450 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_transpose_3x4().
Definition at line 455 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_reverse_4x4().
Definition at line 460 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_reverse_unaligned_4x4().
Definition at line 465 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_reverse_unaligned_4x4().
Definition at line 470 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_reverse_3x4().
Definition at line 475 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_reverse_transpose_4x4().
Definition at line 480 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_reverse_transpose_unaligned_4x4().
Definition at line 485 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_reverse_transpose_unaligned_4x4().
Definition at line 490 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_reverse_transpose_3x4().
Definition at line 495 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_translation().
Definition at line 500 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_translation().
Definition at line 505 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_scale().
Definition at line 510 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_scale().
Definition at line 515 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_rotation_x().
Definition at line 520 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_rotation_y().
Definition at line 525 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_rotation_z().
Definition at line 530 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_rotation_xyz().
Definition at line 535 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_rotation_zyx().
Definition at line 540 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_rotation_zxy().
Definition at line 545 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_rotation_yxz().
Definition at line 550 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
Definition at line 555 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
Definition at line 560 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_rotation_quat().
Definition at line 565 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_lookat().
Definition at line 570 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_ortho().
Definition at line 575 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_frustum().
Definition at line 580 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_perspective().
Definition at line 585 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_symmetric_skew().
Definition at line 590 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_screen().
Definition at line 595 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_permutation_wxyz().
Definition at line 600 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_permutation_yzwx().
Definition at line 605 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_permutation_wzyx().
Definition at line 610 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_self().
Definition at line 615 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_translate().
Definition at line 627 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_translate().
Definition at line 632 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_scale().
Definition at line 637 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_scale().
Definition at line 642 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_rotate_x().
Definition at line 647 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_rotate_x().
Definition at line 652 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_rotate_x().
Definition at line 657 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_rotate_xyz().
Definition at line 662 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_rotate_zyx().
Definition at line 667 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_rotate_zxy().
Definition at line 672 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_rotate_yxz().
Definition at line 677 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_rotate().
Definition at line 682 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_rotate().
Definition at line 687 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
Pre-multiplies and accumulates XMTRX onto the 3D translation matrix with the given components.
Definition at line 696 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
Pre-multiplies and accumulates XMTRX onto the 3D translation matrix with the given translation vector.
Definition at line 701 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
Pre-multiplies and accumulatse XMTRX onto the 3D scaling matrix with the given components.
Definition at line 706 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
Pre-multiplies and accumulatse XMTRX onto the 3D scaling matrix with the given size vector.
Definition at line 711 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_apply_4x4().
Definition at line 723 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_apply_unaligned_4x4().
Definition at line 728 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_apply_3x4().
Definition at line 733 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_store_4x4().
Definition at line 738 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_store_unaligned_4x4().
Definition at line 743 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_apply_store_4x4().
Definition at line 748 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_apply_store_unaligned_4x4().
Definition at line 753 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_apply_store_3x4().
Definition at line 758 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_2x2().
Definition at line 763 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_store_2x2().
Definition at line 768 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_3x3().
Definition at line 773 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_transpose_3x3().
Definition at line 778 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_store_3x3().
Definition at line 783 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_store_transpose_3x3().
Definition at line 788 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_3x3().
Definition at line 793 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_transpose_3x3().
Definition at line 798 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_apply_store_3x3().
Definition at line 803 of file shz_xmtrx.hpp.
C++ wrapper around shz_xmtrx_transform_vec4().
Definition at line 815 of file shz_xmtrx.hpp.
C++ wrapper around shz_xmtrx_transform_vec3().
Definition at line 820 of file shz_xmtrx.hpp.
C++ wrapper around shz_xmtrx_transform_vec2().
Definition at line 825 of file shz_xmtrx.hpp.
C++ wrapper around shz_xmtrx_transform_point3().
Definition at line 830 of file shz_xmtrx.hpp.
C++ wrapper around shz_xmtrx_transform_point2().
Definition at line 835 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_set_translation().
Definition at line 847 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_set_translation().
Definition at line 852 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
Sets only the inner 3x3 submatrix to be a 3D scale matrix with the given components.
Definition at line 857 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
Sets only the inner 3x3 submatrix to be a 3D scale matrix with the given scale vector.
Definition at line 862 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_set_translation().
Definition at line 874 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
Returns the scaling components from the inner 3x3 matrix of XMTRX, as a 3D vector.
Definition at line 883 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_add_4x4().
Definition at line 895 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_sub_4x4().
Definition at line 900 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_transpose().
Definition at line 905 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_negate().
Definition at line 910 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_abs().
Definition at line 915 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_to_quat().
Definition at line 920 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_determinant().
Definition at line 925 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_invert().
Definition at line 930 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
Adds and accumulates a scaled 4x4 matrix onto XMTRX.
Each component of joint_matrix will be multiplied by weight, with the result being added to the existing value of that component of XMTRX.
This is useful for accumulating weighted joint matrices onto an initially zeroed-out XMTRX. This allows for in-place construction of a skin matrix, which can then be directly used to transform the vertices of a mesh against for animation.
Definition at line 945 of file shz_xmtrx.hpp.