If VkAccelerationStructureTrianglesDisplacementMicromapNV is included in the pNext chain of a VkAccelerationStructureGeometryTrianglesDataKHR structure, that geometry will reference that micromap.
For each triangle in the geometry, the acceleration structure build fetches an index from indexBuffer using indexType and indexStride. That triangle uses the displacement micromap information from micromap at that index plus baseTriangle.
Only one of pUsageCounts or ppUsageCounts can be a valid pointer, the other must be NULL. The elements of the non-NULL array describe the total count used to build this geometry. For a given format and subdivisionLevel the number of triangles in this geometry matching those values after indirection must be equal to the sum of matching count provided.
pUsageCounts or ppUsageCounts can be a valid pointer, the other must be NULLsType must be STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NVdisplacementBiasAndScaleFormat must be a valid VkFormat valuedisplacementVectorFormat must be a valid VkFormat valueindexType must be a valid VkIndexType valueusageCountsCount is not 0, and pUsageCounts is not NULL, pUsageCounts must be a valid pointer to an array of usageCountsCount VkMicromapUsageEXT structuresusageCountsCount is not 0, and ppUsageCounts is not NULL, ppUsageCounts must be a valid pointer to an array of usageCountsCount valid pointers to VkMicromapUsageEXT structuresmicromap is not NULL_HANDLE, micromap must be a valid VkMicromapEXT handleVkDeviceOrHostAddressConstKHR, VkMicromapUsageEXT
struct VkAccelerationStructureTrianglesDisplacementMicromapNV {
VkStructureType sType;
void * pNext;
VkFormat displacementBiasAndScaleFormat;
VkFormat displacementVectorFormat;
VkDeviceOrHostAddressConstKHR displacementBiasAndScaleBuffer;
VkDeviceSize displacementBiasAndScaleStride;
VkDeviceOrHostAddressConstKHR displacementVectorBuffer;
VkDeviceSize displacementVectorStride;
VkDeviceOrHostAddressConstKHR displacedMicromapPrimitiveFlags;
VkDeviceSize displacedMicromapPrimitiveFlagsStride;
VkIndexType indexType;
VkDeviceOrHostAddressConstKHR indexBuffer;
VkDeviceSize indexStride;
uint32_t baseTriangle;
uint32_t usageCountsCount;
VkMicromapUsageEXT const * pUsageCounts;
VkMicromapUsageEXT const * const * ppUsageCounts;
VkMicromapEXT micromap;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | BASETRIANGLE
The struct member offsets. |
| public static final int | DISPLACEDMICROMAPPRIMITIVEFLAGS
The struct member offsets. |
| public static final int | DISPLACEDMICROMAPPRIMITIVEFLAGSSTRIDE
The struct member offsets. |
| public static final int | DISPLACEMENTBIASANDSCALEBUFFER
The struct member offsets. |
| public static final int | DISPLACEMENTBIASANDSCALEFORMAT
The struct member offsets. |
| public static final int | DISPLACEMENTBIASANDSCALESTRIDE
The struct member offsets. |
| public static final int | DISPLACEMENTVECTORBUFFER
The struct member offsets. |
| public static final int | DISPLACEMENTVECTORFORMAT
The struct member offsets. |
| public static final int | DISPLACEMENTVECTORSTRIDE
The struct member offsets. |
| public static final int | INDEXBUFFER
The struct member offsets. |
| public static final int | INDEXSTRIDE
The struct member offsets. |
| public static final int | INDEXTYPE
The struct member offsets. |
| public static final int | MICROMAP
The struct member offsets. |
| public static final int | PNEXT
The struct member offsets. |
| public static final int | PPUSAGECOUNTS
The struct member offsets. |
| public static final int | PUSAGECOUNTS
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | STYPE
The struct member offsets. |
| public static final int | USAGECOUNTSCOUNT
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkAccelerationStructureTrianglesDisplacementMicromapNV(ByteBuffer container)
Creates a |