---
name: "rtcSetGeometryTransformQuaternion"
section: "3"
platform: "linux"
package: "libembree-dev"
version: "4.3.3+dfsg-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/rtcSetGeometryTransformQuaternion"
---

# rtcSetGeometryTransformQuaternion(3)

### NAME

-

  ```
  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.
  ```

### SYNOPSIS

-

  ```
  #include <embree4/rtcore.h>
  void rtcSetGeometryTransformQuaternion(
    RTCGeometry geometry,
    unsigned int timeStep,
    const struct RTCQuaternionDecomposition* qd
  );
  ```

### DESCRIPTION

The `rtcSetGeometryTransformQuaternion` function sets the local-to-world affine transformation (`qd` parameter) of an instance geometry (`geometry` parameter) for a particular time step (`timeStep` 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).

For more information about the decomposition see \[RTCQuaternionDecomposition\]. The quaternion given in the `RTCQuaternionDecomposition` struct will be normalized internally.

For correct results, the transformation matrices for all time steps must be set either using `rtcSetGeometryTransform` or `rtcSetGeometryTransformQuaternion`. Mixing both representations is not allowed. Spherical linear interpolation will be used, iff the transformation matizes are set with `rtcSetGeometryTransformQuaternion`.

For an example of this feature see the tutorial \[Quaternion Motion Blur\].

### EXIT STATUS

On failure an error code is set that can be queried using `rtcGetDeviceError`.

### SEE ALSO

\[rtcInitQuaternionDecomposition\], \[rtcSetGeometryTransform\]
