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