NVIDIA OptiX 7.1 API nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
OptixSRTData Struct Reference

Public Attributes

Parameters describing the SRT transformation
float sx
float a
float b
float pvx
float sy
float c
float pvy
float sz
float pvz
float qx
float qy
float qz
float qw
float tx
float ty
float tz

Detailed Description

Represents an SRT transformation.

An SRT transformation can represent a smooth rotation with fewer motion keys than a matrix transformation. Each motion key is constructed from elements taken from a matrix S, a quaternion R, and a translation T.

                   [  sx   a   b  pvx ]

The scaling matrix S = [ 0 sy c pvy ] defines an affine transformation that can include scale, shear, and a [ 0 0 sz pvz ]

translation. The translation allows to define the pivot point for the subsequent rotation.

The quaternion R = [ qx, qy, qz, qw ] describes a rotation with angular component qw = cos(theta/2) and other components [ qx, qy, qz ] = sin(theta/2) * [ ax, ay, az ] where the axis [ ax, ay, az ] is normalized.

                [  1  0  0 tx ]

The translation T = [ 0 1 0 ty ] defines another translation that is applied after the rotation. Typically, this [ 0 0 1 tz ]

translation includes the inverse translation from the matrix S to reverse its effect.

To obtain the effective transformation at time t, the elements of the components of S, R, and T will be interpolated linearly. The components are then multiplied to obtain the combined transformation C = T * R * S. The transformation C is the effective object-to-world transformations at time t, and C^(-1) is the effective world-to-object transformation at time t.

See Also
OptixSRTMotionTransform::srtData, optixConvertPointerToTraversableHandle()

Member Data Documentation

float OptixSRTData::a
float OptixSRTData::b
float OptixSRTData::c
float OptixSRTData::pvx
float OptixSRTData::pvy
float OptixSRTData::pvz
float OptixSRTData::qw
float OptixSRTData::qx
float OptixSRTData::qy
float OptixSRTData::qz
float OptixSRTData::sx
float OptixSRTData::sy
float OptixSRTData::sz
float OptixSRTData::tx
float OptixSRTData::ty
float OptixSRTData::tz