## 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;

## Members

• sType is the type of 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.

## Description

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
sType must be VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV

• 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

## Document Notes

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

Copyright 2014-2021 The Khronos Group Inc.