VkAccelerationStructureGeometryKHR(3)

# VkAccelerationStructureGeometryKHR(3) Manual Page

## Name

VkAccelerationStructureGeometryKHR - Structure specifying geometries to be built into an acceleration structure

Loading… please wait.

## C Specification

The `VkAccelerationStructureGeometryKHR` structure is defined as:

    // Provided by VK_KHR_acceleration_structure
    typedef struct VkAccelerationStructureGeometryKHR {
        VkStructureType                           sType;
        const void*                               pNext;
        VkGeometryTypeKHR                         geometryType;
        VkAccelerationStructureGeometryDataKHR    geometry;
        VkGeometryFlagsKHR                        flags;
    } VkAccelerationStructureGeometryKHR;

## Members

- `sType` is a VkStructureType value identifying this structure.

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

- `geometryType` describes which type of geometry this `VkAccelerationStructureGeometryKHR` refers to.

- `geometry` is a VkAccelerationStructureGeometryDataKHR union describing the geometry data for the relevant geometry type.

- `flags` is a bitmask of VkGeometryFlagBitsKHR values describing additional properties of how the geometry should be built.

## Description

Valid Usage (Implicit)

- VUID-VkAccelerationStructureGeometryKHR-sType-sType
  `sType` must be `VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR`

- VUID-VkAccelerationStructureGeometryKHR-pNext-pNext
  Each `pNext` member of any structure (including this one) in the `pNext` chain must be either `NULL` or a pointer to a valid instance of VkAccelerationStructureGeometryLinearSweptSpheresDataNV or VkAccelerationStructureGeometrySpheresDataNV

- VUID-VkAccelerationStructureGeometryKHR-sType-unique
  The `sType` value of each struct in the `pNext` chain must be unique

- VUID-VkAccelerationStructureGeometryKHR-geometryType-parameter
  `geometryType` must be a valid VkGeometryTypeKHR value

- VUID-VkAccelerationStructureGeometryKHR-triangles-parameter
  If `geometryType` is `VK_GEOMETRY_TYPE_TRIANGLES_KHR`, the `triangles` member of `geometry` must be a valid VkAccelerationStructureGeometryTrianglesDataKHR structure

- VUID-VkAccelerationStructureGeometryKHR-aabbs-parameter
  If `geometryType` is `VK_GEOMETRY_TYPE_AABBS_KHR`, the `aabbs` member of `geometry` must be a valid VkAccelerationStructureGeometryAabbsDataKHR structure

- VUID-VkAccelerationStructureGeometryKHR-instances-parameter
  If `geometryType` is `VK_GEOMETRY_TYPE_INSTANCES_KHR`, the `instances` member of `geometry` must be a valid VkAccelerationStructureGeometryInstancesDataKHR structure

- VUID-VkAccelerationStructureGeometryKHR-flags-parameter
  `flags` must be a valid combination of VkGeometryFlagBitsKHR values

## See Also

VK_KHR_acceleration_structure, VkAccelerationStructureBuildGeometryInfoKHR, VkAccelerationStructureGeometryDataKHR, VkGeometryFlagsKHR, VkGeometryTypeKHR, 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 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0