shz_mat4x4_mult_transpose_unaligned
SHZ_INLINE void shz_mat4x4_mult_transpose_unaligned(shz_mat4x4_t* mat, const shz_mat4x4_t* lhs, const float rhs[16]) SHZ_NOEXCEPT;Multiplies the regular matrix, lhs, by the transpose of the unaligned matrix, rhs, storing the result into mat.
Parameters
Section titled “Parameters”| Name | Type | Description |
|---|---|---|
mat | shz_mat4x4_t * | |
lhs | const shz_mat4x4_t * | |
rhs | const float [16] |
Returns
Section titled “Returns”Nothing (void).
Warnings
Section titled “Warnings”- This routine clobbers XMTRX.
Naming and requirements
Section titled “Naming and requirements”_unaligned: Works on matrix data that is not 8-byte aligned, passed as a plainfloat[16]. The default routines use 64-bit pairedFMOVloads that need 8-byte alignment. (Naming and Suffixes)_transpose: Operates with the transposed matrix (row-major input, or inverse-rotation use). (Naming and Suffixes)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: none (call the C function from C++)
- Type-generic form: none
- Back-ends: SH4: shared C implementation · SW: portable C · SPU: shared C implementation
- Defined in:
sh4zam/shz_matrix.h:651 - Module: Matrix, section "Transforming"