# VkAccelerationStructureMotionInstanceNV(3) Manual Page

## Name

VkAccelerationStructureMotionInstanceNV - Structure specifying a single acceleration structure motion instance for building into an acceleration structure geometry

Loading… please wait.

## C Specification

Acceleration structure motion instances can be built into top-level acceleration structures. Each acceleration structure instance is a separate entry in the top-level acceleration structure which includes all the geometry of a bottom-level acceleration structure at a transformed location including a type of motion and parameters to determine the motion of the instance over time.

An acceleration structure motion instance is defined by the structure:

    // Provided by VK_NV_ray_tracing_motion_blur
    typedef struct VkAccelerationStructureMotionInstanceNV {
        VkAccelerationStructureMotionInstanceTypeNV     type;
        VkAccelerationStructureMotionInstanceFlagsNV    flags;
        VkAccelerationStructureMotionInstanceDataNV     data;
    } VkAccelerationStructureMotionInstanceNV;

## Members

- `type` is a VkAccelerationStructureMotionInstanceTypeNV enumerant identifying which type of motion instance this is and which type of the union is valid.

- `flags` is currently unused, but is required to keep natural alignment of `data`.

- `data` is a VkAccelerationStructureMotionInstanceDataNV containing motion instance data for this instance.

## Description

Note | If writing this other than with a standard C compiler, note that the final structure should be 152 bytes in size.

Valid Usage (Implicit)

- VUID-VkAccelerationStructureMotionInstanceNV-type-parameter
  `type` must be a valid VkAccelerationStructureMotionInstanceTypeNV value

- VUID-VkAccelerationStructureMotionInstanceNV-flags-zerobitmask
  `flags` must be `0`

- VUID-VkAccelerationStructureMotionInstanceNV-staticInstance-parameter
  If `type` is `VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV`, the `staticInstance` member of `data` must be a valid VkAccelerationStructureInstanceKHR structure

- VUID-VkAccelerationStructureMotionInstanceNV-matrixMotionInstance-parameter
  If `type` is `VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV`, the `matrixMotionInstance` member of `data` must be a valid VkAccelerationStructureMatrixMotionInstanceNV structure

- VUID-VkAccelerationStructureMotionInstanceNV-srtMotionInstance-parameter
  If `type` is `VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV`, the `srtMotionInstance` member of `data` must be a valid VkAccelerationStructureSRTMotionInstanceNV structure

## See Also

VK_NV_ray_tracing_motion_blur, VkAccelerationStructureMotionInstanceDataNV, VkAccelerationStructureMotionInstanceFlagsNV, VkAccelerationStructureMotionInstanceTypeNV

## Document Notes

For more information, see the Vulkan Specification

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

## Copyright

Copyright 2014-2024 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0