Back to class indexx | y | z | w | identity[static][const] | nan[static][const] | ctor (+7 overloads) | WorldX()[const] | WorldY()[const] | WorldZ()[const] | Axis()[const] | Angle()[const] | Dot(rhs)[const] | LengthSq()[const] | Length()[const] | Normalize() | Normalized()[const] | IsNormalized(epsilon)[const] | IsInvertible(epsilon)[const] | IsFinite()[const] | Equals(rhs,epsilon)[const] | BitEquals(other)[const] | ptr() (+1 overload) | Inverse() | Inverted()[const] | InverseAndNormalize() | Conjugate() | Conjugated()[const] | Transform(x,y,z)[const] (+2 overloads) | Lerp(target,t)[const] | Slerp(target,t)[const] | AngleBetween(target)[const] | AxisFromTo(target)[const] | ToAxisAngle(...)[const] (+1 overload) | SetFromAxisAngle(...) (+1 overload) | Set(matrix) (+3 overloads) | ToEulerXYX()[const] | ToFloat3x3()[const] | ToFloat3x4()[const] | ToFloat4x4()[const] (+2 overloads) | ToString()[const] | ToString2()[const] | SerializeToString()[const] | SerializeToCodeString()[const] | operator*(rhs)[const] (+2 overloads) | operator/(rhs)[const] | operator+()[const] | Mul(rhs)[const] (+3 overloads) | Neg()[const] | Lerp(source,target,t)[static] | Slerp(source,target,t)[static] | SlerpVector(from,to,t)[static] | SlerpVectorAbs(...)[static] | LookAt(...)[static] | RotateX(angleRadians)[static] | RotateY(angleRadians)[static] | RotateZ(angleRadians)[static] | RotateAxisAngle(...)[static] | RotateFromTo(...)[static] (+2 overloads) | FromEuler***(x2,y,x)[static] | RandomRotation(lcg)[static] | FromString(str,outEndStr)[static] (+1 overload) |
| Quat::SlerpSyntaxMUST_USE_RESULT Quat Quat::Slerp(const Quat &target, float t) const; [46 lines of code] MUST_USE_RESULT Quat Quat::Slerp(const Quat &source, const Quat &target, float t); [1 lines of code]Implementation based on the math in the book Watt, Policarpo. 3D Games: Real-time rendering and Software Technology, pp. 383-386. Work in progress:Todo: in MUST_USE_RESULT Quat Quat::Slerp(const Quat &target, float t) const: SSE. |