Skip to content

shz_mat4x4_apply_rotation

Markdown
SHZ_INLINE void shz_mat4x4_apply_rotation(shz_mat4x4_t* mat, float angle, float xAxis, float yAxis, float zAxis) SHZ_NOEXCEPT;

Rotates the given transform matrix about the arbitrary axis given by a 3D direction vector and angle of rotation in radians.

NameTypeDescription
matshz_mat4x4_t *
anglefloat
xAxisfloat
yAxisfloat
zAxisfloat

Nothing (void).

Multiplies and accumulates the given matrix with the 3D rotation matrix formed from the intrinsic rotation created by the given Tait-Bryan Z-Y-X angles.

  • This routine clobbers XMTRX.
  • 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:471
  • Module: Matrix, section "Applying"