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:
- The two quaternions must be unit length.
- 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