shz_mat4x4_transform_point2_transpose
SHZ_INLINE shz_vec2_t shz_mat4x4_transform_point2_transpose(const shz_mat4x4_t* mat, shz_vec2_t pt) SHZ_NOEXCEPT;Transforms a 2D point by the transpose of a 4x4 matrix.
Parameters
Section titled “Parameters”| Name | Type | Description |
|---|---|---|
mat | const shz_mat4x4_t * | |
pt | shz_vec2_t |
Returns
Section titled “Returns”shz_vec2_t
Details
Section titled “Details”This is a routine specializing in one-off transforms of a single 2D point by the transpose of a a single 4x4 matrix. It should be faster than going through XMTRX.
- For batch transforming multiple 2D points against the same 4x4 matrix, preload the matrix into XMTRX, use
shz_xmtrx_transpose(), then useshz_xmtrx_transform_point2().
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: shared C implementation · SW: portable C · SPU: shared C implementation
- Defined in:
sh4zam/shz_matrix.h:781 - Module: Matrix, section "Transforming"