ofDocsdocumentation glm gtxsimd_quat (functions)

gtxsimd_quat (functions)


glm::angleAxisSIMD( ... )

detail::fquatSIMD glm::angleAxisSIMD(const float &angle, const glm::vec3 &axis)

Build a quaternion from an angle and a normalized axis.

Parameters:

angle Angle expressed in radians.

axis Axis of the quaternion, must be normalized.

See also: gtx_simd_quat


glm::angleAxisSIMD( ... )

detail::fquatSIMD glm::angleAxisSIMD(const float &angle, const float &x, const float &y, const float &z)

Build a quaternion from an angle and a normalized axis.

Parameters:

angle Angle expressed in radians.

x x component of the x-axis, x, y, z must be a normalized axis

y y component of the y-axis, x, y, z must be a normalized axis

z z component of the z-axis, x, y, z must be a normalized axis

See also: gtx_simd_quat


glm::conjugate( ... )

detail::fquatSIMD glm::conjugate(const detail::fquatSIMD &q)

Returns the q conjugate.

See also: gtx_simd_quat


glm::dot( ... )

float glm::dot(const detail::fquatSIMD &q1, const detail::fquatSIMD &q2)

Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ...

See also: gtx_simd_quat


glm::fastMix( ... )

detail::fquatSIMD glm::fastMix(const detail::fquatSIMD &x, const detail::fquatSIMD &y, const float &a)

Faster spherical linear interpolation of two unit length quaternions.

This is the same as mix(), except for two rules:

  1. The two quaternions must be unit length.
  2. The interpolation factor (a) must be in the range [0, 1].

This will use the equivalent to fastAcos() and fastSin().

See also: gtx_simd_quat

See also: - mix(detail::fquatSIMD const & x, detail::fquatSIMD const & y, T const & a)


glm::fastSin( ... )

__m128 glm::fastSin(__m128 x)

Performs the equivalent of glm::fastSin() on each component of the given __m128.


glm::fastSlerp( ... )

detail::fquatSIMD glm::fastSlerp(const detail::fquatSIMD &x, const detail::fquatSIMD &y, const float &a)

Identical to fastMix() except takes the shortest path.

The same rules apply here as those in fastMix(). Both quaternions must be unit length and 'a' must be in the range [0, 1].

See also: - fastMix(detail::fquatSIMD const & x, detail::fquatSIMD const & y, T const & a)

See also: - slerp(detail::fquatSIMD const & x, detail::fquatSIMD const & y, T const & a)


glm::inverse( ... )

detail::fquatSIMD glm::inverse(const detail::fquatSIMD &q)

Returns the q inverse.

See also: gtx_simd_quat


glm::length( ... )

float glm::length(const detail::fquatSIMD &x)

Returns the length of the quaternion.

See also: gtx_simd_quat


glm::lerp( ... )

detail::fquatSIMD glm::lerp(const detail::fquatSIMD &x, const detail::fquatSIMD &y, const float &a)

Linear interpolation of two quaternions. The interpolation is oriented.

Parameters:

x A quaternion

y A quaternion

a Interpolation factor. The interpolation is defined in the range [0, 1].

Type parameters:

T Value type used to build the quaternion. Supported: half, float or double.

See also: gtx_simd_quat


glm::mat4SIMD_cast( ... )

detail::fmat4x4SIMD glm::mat4SIMD_cast(const detail::fquatSIMD &q)

Convert a simdQuat to a simdMat4

See also: gtx_simd_quat


glm::mat4_cast( ... )

glm::mat4 glm::mat4_cast(const detail::fquatSIMD &q)

Converts a simdQuat to a standard mat4.

See also: gtx_simd_quat


glm::mix( ... )

detail::fquatSIMD glm::mix(const detail::fquatSIMD &x, const detail::fquatSIMD &y, const float &a)

Spherical linear interpolation of two quaternions. The interpolation is oriented and the rotation is performed at constant speed. For short path spherical linear interpolation, use the slerp function.

Parameters:

x A quaternion

y A quaternion

a Interpolation factor. The interpolation is defined beyond the range [0, 1].

Type parameters:

T Value type used to build the quaternion. Supported: half, float or double.

See also: gtx_simd_quat

See also: - slerp(detail::fquatSIMD const & x, detail::fquatSIMD const & y, T const & a)


glm::normalize( ... )

detail::fquatSIMD glm::normalize(const detail::fquatSIMD &x)

Returns the normalized quaternion.

See also: gtx_simd_quat


glm::quatSIMD_cast( ... )

detail::fquatSIMD glm::quatSIMD_cast(const glm::mat4 &m=P)

Converts a mat4 to a simdQuat.

See also: gtx_simd_quat


glm::quatSIMD_cast( ... )

detail::fquatSIMD glm::quatSIMD_cast(const glm::mat3 &m=P)

Converts a mat3 to a simdQuat.

See also: gtx_simd_quat


glm::quatSIMD_cast( ... )

detail::fquatSIMD glm::quatSIMD_cast(const detail::fmat4x4SIMD &m)

Convert a simdMat4 to a simdQuat.

See also: gtx_simd_quat


glm::quat_cast( ... )

glm::quat glm::quat_cast(const detail::fquatSIMD &x)

Convert a simdQuat to a quat.

See also: gtx_simd_quat


glm::slerp( ... )

detail::fquatSIMD glm::slerp(const detail::fquatSIMD &x, const detail::fquatSIMD &y, const float &a)

Spherical linear interpolation of two quaternions. The interpolation always take the short path and the rotation is performed at constant speed.

Parameters:

x A quaternion

y A quaternion

a Interpolation factor. The interpolation is defined beyond the range [0, 1].

Type parameters:

T Value type used to build the quaternion. Supported: half, float or double.

See also: gtx_simd_quat