Skip to content

shz_mat4x4_transform_point3

Markdown
SHZ_INLINE shz_vec3_t shz_mat4x4_transform_point3(const shz_mat4x4_t* mat, shz_vec3_t pt) SHZ_NOEXCEPT;

Transforms a 3D point by a 4x4 matrix.

NameTypeDescription
matconst shz_mat4x4_t *
ptshz_vec3_t

shz_vec3_t

This is a routine specializing in one-off transforms of a single 3D point by a single 4x4 matrix. It should be faster than going through XMTRX.

  • For batch transforming multiple 3D points against the same 4x4 matrix, preload the matrix into XMTRX, then use shz_xmtrx_transform_point3().
  • 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: shared C implementation · SW: portable C · SPU: shared C implementation
  • Defined in: sh4zam/shz_matrix.h:766
  • Module: Matrix, section "Transforming"

shz_xmtrx_transform_point3