Nebula
Loading...
Searching...
No Matches
quat.h File Reference
#include "core/types.h"
#include "math/scalar.h"
#include "math/vec4.h"
#include "math/sse.h"

Go to the source code of this file.

Classes

class  Math::quat
 A quaternion is usually used to represent an orientation in 3D space. More...
 

Namespaces

namespace  Math
 Half precision (16 bit) float implementation.
 

Functions

quat Math::slerp (const quat &q1, const quat &q2, scalar t)
 quat slerp TODO: rewrite using sse/avx
 
quat Math::rotationmatrix (const mat4 &m)
 
vec3 Math::to_euler (const quat &q)
 
quat Math::from_euler (const vec3 &v)
 
quat Math::quatyawpitchroll (scalar y, scalar x, scalar z)
 
vec3 Math::rotate (quat const &q, vec3 const &v)
 Rotate a vector by a quaternion.
 
__forceinline bool Math::isidentity (const quat &q)
 
__forceinline scalar Math::length (const quat &q)
 
__forceinline scalar Math::lengthsq (const quat &q)
 
__forceinline quat Math::quatUndenormalize (const quat &q)
 
__forceinline quat Math::barycentric (const quat &q0, const quat &q1, const quat &q2, scalar f, scalar g)
 
__forceinline quat Math::conjugate (const quat &q)
 
__forceinline scalar Math::dot (const quat &q0, const quat &q1)
 
__forceinline quat Math::quatExp (const quat &q)
 
__forceinline quat Math::identity ()
 
__forceinline quat Math::inverse (const quat &q)
 
__forceinline quat Math::ln (const quat &q)
 
__forceinline quat Math::operator* (const quat &q0, const quat &q1)
 
__forceinline quat Math::normalize (const quat &q)
 
__forceinline quat Math::rotationquataxis (const vec3 &axis, scalar angle)
 quat from rotation axis + angle.
 
__forceinline void Math::squadsetup (const quat &q0, const quat &q1, const quat &q2, const quat &q3, quat &aOut, quat &bOut, quat &cOut)
 
__forceinline quat Math::squad (const quat &q1, const quat &a, const quat &b, const quat &c, scalar t)
 
__forceinline void Math::to_axisangle (const quat &q, vec4 &outAxis, scalar &outAngle)