![]() |
SH4ZAM! 0.8.0
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_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_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_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 (const shz_mat3x4_t &mat) 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 (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 (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_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_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_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 (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 | 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_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 | add_diagonal (float x, float y, float z, float w) noexcept |
| static void | add_diagonal (const vec4 &v) noexcept |
| static void | add_symmetric_skew (float x, float y, float z) noexcept |
| static void | add_symmetric_skew (const vec3 &v) 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_transpose_4x4().
Definition at line 127 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_transpose_unaligned_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_wxyz_4x4().
Definition at line 142 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_cols_4x4().
Definition at line 147 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_rows_4x4().
Definition at line 155 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_3x4().
Definition at line 163 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_store_4x4().
Definition at line 175 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_store_unaligned_4x4().
Definition at line 180 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_store_unaligned_4x4().
Definition at line 185 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_store_transpose_4x4().
Definition at line 190 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_store_transpose_unaligned_4x4().
Definition at line 195 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_store_transpose_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_init_identity().
Definition at line 217 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_identity_safe().
Definition at line 223 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_zero().
Definition at line 228 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_one().
Definition at line 233 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_fill().
Definition at line 238 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_translation().
Definition at line 243 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_translation().
Definition at line 248 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_scale().
Definition at line 253 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_scale().
Definition at line 258 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_rotation_x().
Definition at line 263 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_rotation_y().
Definition at line 268 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_rotation_z().
Definition at line 273 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_rotation_xyz().
Definition at line 278 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_rotation_zyx().
Definition at line 283 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_rotation_zxy().
Definition at line 288 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_rotation_yxz().
Definition at line 293 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_rotation().
Definition at line 298 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_rotation().
Definition at line 303 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_rotation_axis_angle().
Definition at line 308 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_diagonal().
Definition at line 313 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_diagonal().
Definition at line 318 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_upper_triangular().
Definition at line 323 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_lower_diagonal().
Definition at line 328 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_symmetric_skew().
Definition at line 333 of file shz_xmtrx.hpp.
C++ wrapper around shz_xmtrx_init_outer_product().
Definition at line 338 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_screen().
Definition at line 343 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_lookat().
Definition at line 348 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_ortho().
Definition at line 353 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_frustum().
Definition at line 358 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_perspective().
Definition at line 363 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_rotation_quat().
Definition at line 368 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_permutation_wxyz().
Definition at line 373 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_permutation_yzwx().
Definition at line 378 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_permutation_wzyx().
Definition at line 383 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_4x4().
Definition at line 395 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_unaligned_4x4().
Definition at line 400 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_unaligned_4x4().
Definition at line 405 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_transpose_4x4().
Definition at line 410 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_transpose_unaligned_4x4().
Definition at line 415 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_transpose_unaligned_4x4().
Definition at line 420 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_reverse_4x4().
Definition at line 425 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_reverse_unaligned_4x4().
Definition at line 430 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_reverse_unaligned_4x4().
Definition at line 435 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_reverse_transpose_4x4().
Definition at line 440 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_reverse_transpose_unaligned_4x4().
Definition at line 445 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_reverse_transpose_unaligned_4x4().
Definition at line 450 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_3x4().
Definition at line 455 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_translation().
Definition at line 460 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_translation().
Definition at line 465 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_scale().
Definition at line 470 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_scale().
Definition at line 475 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_rotation_x().
Definition at line 480 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_rotation_y().
Definition at line 485 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_rotation_z().
Definition at line 490 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_init_rotation_xyz().
Definition at line 495 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_rotation_zyx().
Definition at line 500 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_rotation_zxy().
Definition at line 505 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_rotation_yxz().
Definition at line 510 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
Definition at line 515 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
Definition at line 520 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_rotation_quat().
Definition at line 525 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_lookat().
Definition at line 530 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_ortho().
Definition at line 535 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_frustum().
Definition at line 540 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_perspective().
Definition at line 545 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_symmetric_skew().
Definition at line 550 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_screen().
Definition at line 555 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_permutation_wxyz().
Definition at line 560 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_permutation_yzwx().
Definition at line 565 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_permutation_wzyx().
Definition at line 570 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_self().
Definition at line 575 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_translate().
Definition at line 587 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_translate().
Definition at line 592 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_scale().
Definition at line 597 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_scale().
Definition at line 602 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_rotate_x().
Definition at line 607 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_rotate_x().
Definition at line 612 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_rotate_x().
Definition at line 617 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_rotate_xyz().
Definition at line 622 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_rotate_zyx().
Definition at line 627 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_rotate_zxy().
Definition at line 632 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_rotate_yxz().
Definition at line 637 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_rotate().
Definition at line 642 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_rotate().
Definition at line 647 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
Pre-multiplies and accumulates XMTRX onto the 3D translation matrix with the given components.
Definition at line 656 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
Pre-multiplies and accumulates XMTRX onto the 3D translation matrix with the given translation vector.
Definition at line 661 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
Pre-multiplies and accumulatse XMTRX onto the 3D scaling matrix with the given components.
Definition at line 666 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
Pre-multiplies and accumulatse XMTRX onto the 3D scaling matrix with the given size vector.
Definition at line 671 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_apply_4x4().
Definition at line 683 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_apply_unaligned_4x4().
Definition at line 688 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_store_4x4().
Definition at line 693 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_apply_store_unaligned_4x4().
Definition at line 698 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_apply_store_4x4().
Definition at line 703 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_apply_store_unaligned_4x4().
Definition at line 708 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_apply_store_3x4().
Definition at line 713 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_load_apply_store_3x3().
Definition at line 718 of file shz_xmtrx.hpp.
C++ wrapper around shz_xmtrx_transform_vec4().
Definition at line 730 of file shz_xmtrx.hpp.
C++ wrapper around shz_xmtrx_transform_vec3().
Definition at line 735 of file shz_xmtrx.hpp.
C++ wrapper around shz_xmtrx_transform_vec2().
Definition at line 740 of file shz_xmtrx.hpp.
C++ wrapper around shz_xmtrx_transform_point3().
Definition at line 745 of file shz_xmtrx.hpp.
C++ wrapper around shz_xmtrx_transform_point2().
Definition at line 750 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_set_translation().
Definition at line 762 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_set_translation().
Definition at line 767 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 772 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 777 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_set_translation().
Definition at line 789 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
Returns the scaling components from the inner 3x3 matrix of XMTRX, as a 3D vector.
Definition at line 798 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_add_4x4().
Definition at line 810 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_sub_4x4().
Definition at line 815 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_add_diagonal().
Definition at line 820 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_add_diagonal().
Definition at line 825 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_add_symmetric_skew().
Definition at line 830 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_add_symmetric_skew().
Definition at line 835 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_transpose().
Definition at line 840 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_negate().
Definition at line 845 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_abs().
Definition at line 850 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_to_quat().
Definition at line 855 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_determinant().
Definition at line 860 of file shz_xmtrx.hpp.
|
inlinestaticnoexcept |
C++ wrapper around shz_xmtrx_invert().
Definition at line 865 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 880 of file shz_xmtrx.hpp.