shz_mat4x4_decompose
void shz_mat4x4_decompose(const shz_mat4x4_t* mat, shz_vec3_t* translation, shz_quat_t* rotation, shz_vec3_t* scale) SHZ_NOEXCEPT;Decomposes a 4x4 transform matrix into translation, rotation, and scale.
Parameters
Section titled “Parameters”| Name | Type | Description |
|---|---|---|
mat | const shz_mat4x4_t * | |
translation | shz_vec3_t * | |
rotation | shz_quat_t * | |
scale | shz_vec3_t * |
Returns
Section titled “Returns”Nothing (void).
- Any output pointer may be NULL to skip that component.
Warnings
Section titled “Warnings”- This routine clobbers XMTRX.
Naming and requirements
Section titled “Naming and requirements”shz_mat4x4_tandshz_mat2x2_targuments must be 8-byte aligned. Unaligned data goes through thefloat[16]parameters of the_unalignedroutines.
Availability
Section titled “Availability”- C++ equivalent:
shz::mat4x4::decompose - Type-generic form: none
- Back-ends: SH4: shared C implementation · SW: portable C · SPU: shared C implementation
- Defined in:
sh4zam/shz_matrix.h:295 - Module: Matrix, section "Decomposition"