C Specification

The VkGeometryAABBNV structure specifies axis-aligned bounding box geometry in a bottom-level acceleration structure, and is defined as:

// Provided by VK_NV_ray_tracing
typedef struct VkGeometryAABBNV {
    VkStructureType    sType;
    const void*        pNext;
    VkBuffer           aabbData;
    uint32_t           numAABBs;
    uint32_t           stride;
    VkDeviceSize       offset;
} VkGeometryAABBNV;


  • sType is a VkStructureType value identifying this structure.

  • pNext is NULL or a pointer to a structure extending this structure.

  • aabbData is the buffer containing axis-aligned bounding box data.

  • numAABBs is the number of AABBs in this geometry.

  • stride is the stride in bytes between AABBs in aabbData.

  • offset is the offset in bytes of the first AABB in aabbData.


The AABB data in memory is six 32-bit floats consisting of the minimum x, y, and z values followed by the maximum x, y, and z values.

Valid Usage
  • VUID-VkGeometryAABBNV-offset-02439
    offset must be less than the size of aabbData

  • VUID-VkGeometryAABBNV-offset-02440
    offset must be a multiple of 8

  • VUID-VkGeometryAABBNV-stride-02441
    stride must be a multiple of 8

Valid Usage (Implicit)
  • VUID-VkGeometryAABBNV-sType-sType

  • VUID-VkGeometryAABBNV-pNext-pNext
    pNext must be NULL

  • VUID-VkGeometryAABBNV-aabbData-parameter
    If aabbData is not VK_NULL_HANDLE, aabbData must be a valid VkBuffer handle

See Also

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 2014-2024 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0