Skip to content

shz_mat4x4_transform_vec4

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

NameTypeDescription
matconst shz_mat4x4_t *
inshz_vec4_t

shz_vec4_t

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().
  • 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:693
  • Module: Matrix, section "Transforming"

shz_mat4x4_transform_vec3, shz_xmtrx_transform_vec4