Skip to content

shz_mat4x4_transform_vec4_transpose

Markdown
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.

NameTypeDescription
mconst shz_mat4x4_t *
vshz_vec4_t

shz_vec4_t

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 use shz_xmtrx_transform_vec4().
  • _transpose: Operates with the transposed matrix (row-major input, or inverse-rotation use). (Naming and Suffixes)
  • shz_mat4x4_t and shz_mat2x2_t arguments must be 8-byte aligned. Unaligned data goes through the float[16] parameters of the _unaligned routines.
  • 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"

shz_xmtrx_transpose, shz_xmtrx_transform_vec4