VkAccelerationStructureGeometryTrianglesDataKHR(3)

# VkAccelerationStructureGeometryTrianglesDataKHR(3) Manual Page

## Name

VkAccelerationStructureGeometryTrianglesDataKHR - Structure specifying a triangle geometry in a bottom-level acceleration structure

Loading… please wait.

## C Specification

The `VkAccelerationStructureGeometryTrianglesDataKHR` structure is defined as:

    // Provided by VK_KHR_ray_tracing
    typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
        VkStructureType                  sType;
        const void*                      pNext;
        VkFormat                         vertexFormat;
        VkDeviceOrHostAddressConstKHR    vertexData;
        VkDeviceSize                     vertexStride;
        VkIndexType                      indexType;
        VkDeviceOrHostAddressConstKHR    indexData;
        VkDeviceOrHostAddressConstKHR    transformData;
    } VkAccelerationStructureGeometryTrianglesDataKHR;

## Members

- `sType` is the type of this structure.

- `pNext` is `NULL` or a pointer to a structure extending this structure.

- `vertexFormat` is the VkFormat of each vertex element.

- `vertexData` is a device or host address to memory containing vertex data for this geometry.

- `vertexStride` is the stride in bytes between each vertex.

- `indexType` is the VkIndexType of each index element.

- `indexData` is a device or host address to memory containing index data for this geometry.

- `transformData` is a device or host address to memory containing an optional reference to a VkTransformMatrixKHR structure defining a transformation that should be applied to vertices in this geometry.

## Description

Valid Usage
Valid Usage (Implicit)

- VUID-VkAccelerationStructureGeometryTrianglesDataKHR-sType-sType
  `sType` must be `VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR`

- VUID-VkAccelerationStructureGeometryTrianglesDataKHR-pNext-pNext
  `pNext` must be `NULL`

- VUID-VkAccelerationStructureGeometryTrianglesDataKHR-vertexFormat-parameter
  `vertexFormat` must be a valid VkFormat value

- VUID-VkAccelerationStructureGeometryTrianglesDataKHR-vertexData-parameter
  `vertexData` must be a valid VkDeviceOrHostAddressConstKHR union

- VUID-VkAccelerationStructureGeometryTrianglesDataKHR-indexType-parameter
  `indexType` must be a valid VkIndexType value

- VUID-VkAccelerationStructureGeometryTrianglesDataKHR-indexData-parameter
  If `indexData` is not `0`, `indexData` must be a valid VkDeviceOrHostAddressConstKHR union

- VUID-VkAccelerationStructureGeometryTrianglesDataKHR-transformData-parameter
  If `transformData` is not `0`, `transformData` must be a valid VkDeviceOrHostAddressConstKHR union

## See Also

VkAccelerationStructureGeometryDataKHR, VkDeviceOrHostAddressConstKHR, `VkDeviceSize`, VkFormat, VkIndexType, VkStructureType

## 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 (c) 2014-2020 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0