shz_mat4x4_transform_vec4
SHZ_INLINE shz_vec4_t shz_mat4x4_transform_vec4(const shz_mat4x4_t* mat, shz_vec4_t in) SHZ_NOEXCEPT;Transforms a 4D vector by a 4x4 matrix.
Parameters
Section titled “Parameters”| Name | Type | Description |
|---|---|---|
mat | const shz_mat4x4_t * | |
in | 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 a single 4x4 matrix. It should be faster than going through XMTRX.
- For batch transforming multiple 4D vectors against the same 4x4 matrix, preload the matrix into XMTRX, then use
shz_xmtrx_transform_vec4().
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: 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:693 - Module: Matrix, section "Transforming"