Skip to content

shz_xmtrx_blend_3x4

Markdown
SHZ_INLINE void shz_xmtrx_blend_3x4(const shz_mat3x4_t* matrix, float weight) SHZ_NOEXCEPT;

Adds and accumulates a scaled 3x4 matrix onto XMTRX.

NameTypeDescription
matrixconst shz_mat3x4_t *3x4 matrix to multiply and accumulate onto XMTRX.
weightfloatFactor each element in matrix gets scaled by.

Nothing (void).

Each component of joint_matrix will be multiplied by weight, with the result being added to the existing value of that component of XMTRX.

This is useful for accumulating weighted joint matrices onto an initially zeroed-out XMTRX. This allows for in-place construction of a skin matrix, which can then be directly used to transform the vertices of a mesh against for animation.

  • 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_xmtrx.h:897
  • Module: XMTRX, section "Miscellaneous"

shz_xmtrx_init_zero, shz_xmtrx_blend_4x4