If VkAccelerationStructureTrianglesOpacityMicromapEXT 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. If that value is the unsigned cast of one of the values from VkOpacityMicromapSpecialIndexEXT then that triangle behaves as described for that special value in Ray Opacity Micromap. Otherwise that triangle uses the opacity 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 and special index handling must be equal to the sum of matching count provided.
If micromap is NULL_HANDLE, then every value read from indexBuffer must be one of the values in VkOpacityMicromapSpecialIndexEXT.
pUsageCounts or ppUsageCounts can be a valid pointer, the other must be NULLsType must be STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXTindexType 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 VkAccelerationStructureTrianglesOpacityMicromapEXT {
VkStructureType sType;
void * pNext;
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 | 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 | VkAccelerationStructureTrianglesOpacityMicromapEXT(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public int | |
| public VkAccelerationStructureTrianglesOpacityMicromapEXT | |
| public static VkAccelerationStructureTrianglesOpacityMicromapEXT | |
| public static VkAccelerationStructureTrianglesOpacityMicromapEXT. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkAccelerationStructureTrianglesOpacityMicromapEXT | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkAccelerationStructureTrianglesOpacityMicromapEXT. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| protected VkAccelerationStructureTrianglesOpacityMicromapEXT | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static VkAccelerationStructureTrianglesOpacityMicromapEXT | create()
Returns a new |
| public static VkAccelerationStructureTrianglesOpacityMicromapEXT | create(long address)
Returns a new |
| public static VkAccelerationStructureTrianglesOpacityMicromapEXT. | create(int
the buffer capacity capacity)Returns a new |
| public static VkAccelerationStructureTrianglesOpacityMicromapEXT. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkAccelerationStructureTrianglesOpacityMicromapEXT | |
| public static VkAccelerationStructureTrianglesOpacityMicromapEXT. | |
| public VkDeviceOrHostAddressConstKHR | |
| public VkAccelerationStructureTrianglesOpacityMicromapEXT | indexBuffer(VkDeviceOrHostAddressConstKHR value)
Copies the specified |
| public VkAccelerationStructureTrianglesOpacityMicromapEXT | indexBuffer(Consumer<VkDeviceOrHostAddressConstKHR> consumer)
Passes the |
| public long | |
| public VkAccelerationStructureTrianglesOpacityMicromapEXT | |
| public int | |
| public VkAccelerationStructureTrianglesOpacityMicromapEXT | |
| public static VkAccelerationStructureTrianglesOpacityMicromapEXT | |
| public static VkAccelerationStructureTrianglesOpacityMicromapEXT. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkAccelerationStructureTrianglesOpacityMicromapEXT | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkAccelerationStructureTrianglesOpacityMicromapEXT. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public long | |
| public VkAccelerationStructureTrianglesOpacityMicromapEXT | |
| public static int | |
| public static void | |
| public static VkDeviceOrHostAddressConstKHR | |
| public static void | |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public static long | |
| public static void | |
| public static long | |
| public static void | |
| public static PointerBuffer | |
| public static void | |
| public static VkMicromapUsageEXT. | |
| public static void | |
| public static int | |
| public static void | |
| public static int | |
| public static void | nusageCountsCount(long struct, int value)
Sets the specified value to the |
| public long | |
| public VkAccelerationStructureTrianglesOpacityMicromapEXT | |
| public PointerBuffer | |
| public VkAccelerationStructureTrianglesOpacityMicromapEXT | ppUsageCounts(PointerBuffer value)
Sets the address of the specified |
| public VkMicromapUsageEXT. | |
| public VkAccelerationStructureTrianglesOpacityMicromapEXT | pUsageCounts(VkMicromapUsageEXT.
Sets the address of the specified |
| public VkAccelerationStructureTrianglesOpacityMicromapEXT | set(int sType, long pNext, int indexType, VkDeviceOrHostAddressConstKHR indexBuffer, long indexStride, int baseTriangle, int usageCountsCount, VkMicromapUsageEXT.
Initializes this struct with the specified values. |
| public VkAccelerationStructureTrianglesOpacityMicromapEXT | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | |
| public VkAccelerationStructureTrianglesOpacityMicromapEXT | |
| public VkAccelerationStructureTrianglesOpacityMicromapEXT | sType$Default()
Sets the |
| public int | usageCountsCount()
specifies the number of usage counts structures that will be used to determine the size of this micromap. |
| public VkAccelerationStructureTrianglesOpacityMicromapEXT |