Loading... please wait.

C Specification

The VkAccelerationStructureCreateGeometryTypeInfoKHR structure specifies the shape of geometries that will be built into an acceleration structure and is defined as:

// Provided by VK_KHR_ray_tracing
typedef struct VkAccelerationStructureCreateGeometryTypeInfoKHR {
    VkStructureType      sType;
    const void*          pNext;
    VkGeometryTypeKHR    geometryType;
    uint32_t             maxPrimitiveCount;
    VkIndexType          indexType;
    uint32_t             maxVertexCount;
    VkFormat             vertexFormat;
    VkBool32             allowsTransforms;
} VkAccelerationStructureCreateGeometryTypeInfoKHR;

Members

  • sType is the type of this structure.

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

  • geometryType is a VkGeometryTypeKHR that describes the type of an acceleration structure geometry.

  • maxPrimitiveCount describes the maximum number of primitives that can be built into an acceleration structure geometry.

  • indexType is a VkIndexType that describes the index type used to build this geometry when geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR.

  • maxVertexCount describes the maximum vertex count that can be used to build an acceleration structure geometry when geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR.

  • vertexFormat is a VkFormat that describes the vertex format used to build this geometry when geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR.

  • allowsTransforms indicates whether transform data can be used by this acceleration structure or not, when geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR.

Description

When geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR:

  • if indexType is VK_INDEX_TYPE_NONE_KHR, then this structure describes a set of triangles.

  • if indexType is not VK_INDEX_TYPE_NONE_KHR, then this structure describes a set of indexed triangles.

Valid Usage
  • If geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, vertexFormat must support the VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR in VkFormatProperties::bufferFeatures as returned by vkGetPhysicalDeviceFormatProperties2

  • If geometryType is VK_GEOMETRY_TYPE_TRIANGLES_KHR, indexType must be VK_INDEX_TYPE_UINT16, VK_INDEX_TYPE_UINT32, or VK_INDEX_TYPE_NONE_KHR

Valid Usage (Implicit)
  • sType must be VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_GEOMETRY_TYPE_INFO_KHR

  • pNext must be NULL

  • geometryType must be a valid VkGeometryTypeKHR value

  • indexType must be a valid VkIndexType value

  • If vertexFormat is not 0, vertexFormat must be a valid VkFormat value

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

SPDX-License-Identifier: CC-BY-4.0