shz_mat4x4_transform_vec4_transpose
SHZ_INLINE shz_vec4_t shz_mat4x4_transform_vec4_transpose(const shz_mat4x4_t* m, shz_vec4_t v) SHZ_NOEXCEPT;Transforms a 4D vector the the transpose of a 4x4 matrix.
Parameters
Section titled “Parameters”| Name | Type | Description |
|---|---|---|
m | const shz_mat4x4_t * | |
v | shz_vec4_t |
Returns
Section titled “Returns”shz_vec4_t
Details
Section titled “Details”This is a routine specializing in one-off transforms of a single 4D vector by the transpose of a single 4x4 matrix. It should be faster than going through XMTRX.
- For batch transforming multiple 4D vectors against the transpose of the same 4x4 matrix, preload the matrix into XMTRX, take its transpose with
shz_xmtrx_transpose(), then useshz_xmtrx_transform_vec4().
Naming and requirements
Section titled “Naming and requirements”_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: dedicated SH4 implementation · SW: portable C · SPU: shared C implementation
- Defined in:
sh4zam/shz_matrix.h:738 - Module: Matrix, section "Transforming"