This transform decomposition consists of three elements. The first is a matrix S, consisting of a scale, shear, and translation, usually used to define the pivot point of the following rotation. This matrix is constructed from the parameters above by:
S =
| sx | a | b | pvx |
| 0 | sy | c | pvy |
| 0 | 0 | sz | pvz |
The rotation quaternion is defined as:
R = [ qx, qy, qz, qw ]This is a rotation around a conceptual normalized axis [ ax, ay, az ] of amount theta such that:
[ qx, qy, qz ] = sin(theta/2) × [ ax, ay, az ]and
qw = cos(theta/2)Finally, the transform has a translation T constructed from the parameters above by:
T =
| 1 | 0 | 0 | tx |
| 0 | 1 | 0 | ty |
| 0 | 0 | 1 | tz |
The effective derived transform is then given by
T × R × SVkAccelerationStructureSRTMotionInstanceNV
struct VkSRTDataNV {
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;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkSRTDataNV.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | A
The struct member offsets. |
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | B
The struct member offsets. |
| public static final int | C
The struct member offsets. |
| public static final int | PVX
The struct member offsets. |
| public static final int | PVY
The struct member offsets. |
| public static final int | PVZ
The struct member offsets. |
| public static final int | QW
The struct member offsets. |
| public static final int | QX
The struct member offsets. |
| public static final int | QY
The struct member offsets. |
| public static final int | QZ
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | SX
The struct member offsets. |
| public static final int | SY
The struct member offsets. |
| public static final int | SZ
The struct member offsets. |
| public static final int | TX
The struct member offsets. |
| public static final int | TY
The struct member offsets. |
| public static final int | TZ
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkSRTDataNV(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public float | |
| public VkSRTDataNV | |
| public float | |
| public VkSRTDataNV | |
| public float | |
| public VkSRTDataNV | |
| public static VkSRTDataNV | |
| public static VkSRTDataNV. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkSRTDataNV | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkSRTDataNV. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| protected VkSRTDataNV | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static VkSRTDataNV | |
| public static VkSRTDataNV | |
| public static VkSRTDataNV. | create(int
the buffer capacity capacity)Returns a new |
| public static VkSRTDataNV. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkSRTDataNV | |
| public static VkSRTDataNV. | |
| public static VkSRTDataNV | |
| public static VkSRTDataNV. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkSRTDataNV | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkSRTDataNV. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static float | |
| public static void | |
| public static float | |
| public static void | |
| public static float | |
| public static void | |
| public static float | |
| public static void | |
| public static float | |
| public static void | |
| public static float | |
| public static void | |
| public static float | |
| public static void | |
| public static float | |
| public static void | |
| public static float | |
| public static void | |
| public static float | |
| public static void | |
| public static float | |
| public static void | |
| public static float | |
| public static void | |
| public static float | |
| public static void | |
| public static float | |
| public static void | |
| public static float | |
| public static void | |
| public static float | |
| public static void | |
| public float | |
| public VkSRTDataNV | |
| public float | |
| public VkSRTDataNV | |
| public float | |
| public VkSRTDataNV | |
| public float | |
| public VkSRTDataNV | |
| public float | |
| public VkSRTDataNV | |
| public float | |
| public VkSRTDataNV | |
| public float | |
| public VkSRTDataNV | |
| public VkSRTDataNV | set(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)
Initializes this struct with the specified values. |
| public VkSRTDataNV | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public float | |
| public VkSRTDataNV | |
| public float | |
| public VkSRTDataNV | |
| public float | |
| public VkSRTDataNV | |
| public float | |
| public VkSRTDataNV | |
| public float | |
| public VkSRTDataNV | |
| public float | |
| public VkSRTDataNV |