shz_mat4x4_init_permutation_yzwx
SHZ_INLINE void shz_mat4x4_init_permutation_yzwx(shz_mat4x4_t* mat) SHZ_NOEXCEPT;Initializes the matrix to to a permutation matrix, which reorders the components of transformed vectors to be in YZWX order.
Parameters
Section titled “Parameters”| Name | Type | Description |
|---|---|---|
mat | shz_mat4x4_t * |
Returns
Section titled “Returns”Nothing (void).
Warnings
Section titled “Warnings”- This routine clobbers XMTRX.
Naming and requirements
Section titled “Naming and requirements”_wxyz: Register/column permutation so thatFTRVyields W first (cycle 4 instead of 7), which helps perspective division. (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:
shz::mat4x4::init_permutation_yzwx - Type-generic form: none
- Back-ends: SH4: shared C implementation · SW: portable C · SPU: shared C implementation
- Defined in:
sh4zam/shz_matrix.h:250 - Module: Matrix, section "Initialization"