shz_mat4x4_init_rotation_dir
SHZ_INLINE void shz_mat4x4_init_rotation_dir(shz_mat4x4_t* mat, float angle, float x, float y, float z) SHZ_NOEXCEPT;Initializes the given 4x4 matrix to contain a 3D rotation matrix of angle radians about the given direction.
Parameters
Section titled “Parameters”| Name | Type | Description |
|---|---|---|
mat | shz_mat4x4_t * | |
angle | float | |
x | float | |
y | float | |
z | float |
Returns
Section titled “Returns”Nothing (void).
Details
Section titled “Details”This is a faster version of shz_mat4x4_init_rotation() or glRotatef() which requires being passed a unit vector for the rotation axis.
Warnings
Section titled “Warnings”- The vector components representing the axis of rotation must be prenormalized!
Naming and requirements
Section titled “Naming and requirements”shz_mat4x4_tandshz_mat2x2_targuments must be 8-byte aligned. Unaligned data goes through thefloat[16]parameters of the_unalignedroutines.
Availability
Section titled “Availability”- C++ equivalent:
shz::mat4x4::init_rotation_dir - Type-generic form: none
- Back-ends: SH4: shared C implementation · SW: portable C · SPU: shared C implementation
- Defined in:
sh4zam/shz_matrix.h:198 - Module: Matrix, section "Initialization"