.\" Automatically generated by Pandoc 2.5
.\"
.TH "rtcSetGeometryTransformQuaternion" "3" "" "" "Embree Ray Tracing Kernels 3"
.hy
.SS NAME
.IP
.nf
\f[C]
rtcSetGeometryTransformQuaternion \- sets the transformation for a particular
  time step of an instance geometry as a decomposition of the
  transformation matrix using quaternions to represent the rotation.
\f[R]
.fi
.SS SYNOPSIS
.IP
.nf
\f[C]
#include <embree3/rtcore.h>

void rtcSetGeometryTransformQuaternion(
  RTCGeometry geometry,
  unsigned int timeStep,
  const struct RTCQuaternionDecomposition* qd
);
\f[R]
.fi
.SS DESCRIPTION
.PP
The \f[C]rtcSetGeometryTransformQuaternion\f[R] function sets the
local\-to\-world affine transformation (\f[C]qd\f[R] parameter) of an
instance geometry (\f[C]geometry\f[R] parameter) for a particular time
step (\f[C]timeStep\f[R] parameter).
The transformation is specified as a [RTCQuaternionDecomposition], which
is a decomposition of an affine transformation that represents the
rotational component of an affine transformation as a quaternion.
This allows interpolating rotational transformations exactly using
spherical linear interpolation (such as a turning wheel).
.PP
For more information about the decomposition see
[RTCQuaternionDecomposition].
The quaternion given in the \f[C]RTCQuaternionDecomposition\f[R] struct
will be normalized internally.
.PP
For correct results, the transformation matrices for all time steps must
be set either using \f[C]rtcSetGeometryTransform\f[R] or
\f[C]rtcSetGeometryTransformQuaternion\f[R].
Mixing both representations is not allowed.
Spherical linear interpolation will be used, iff the transformation
matizes are set with \f[C]rtcSetGeometryTransformQuaternion\f[R].
.PP
For an example of this feature see the tutorial [Quaternion Motion
Blur].
.SS EXIT STATUS
.PP
On failure an error code is set that can be queried using
\f[C]rtcGetDeviceError\f[R].
.SS SEE ALSO
.PP
[rtcInitQuaternionDecomposition], [rtcSetGeometryTransform]
