public class VkAccelerationStructureInfoNV
extends org.lwjgl.system.Struct
implements org.lwjgl.system.NativeResource
VkAccelerationStructureInfoNV contains information that is used both for acceleration structure creation with vkCreateAccelerationStructureNV and in combination with the actual geometric data to build the acceleration structure with CmdBuildAccelerationStructureNV.
geometryCount must be less than or equal to VkPhysicalDeviceRayTracingPropertiesNV::maxGeometryCountinstanceCount must be less than or equal to VkPhysicalDeviceRayTracingPropertiesNV::maxInstanceCountVkPhysicalDeviceRayTracingPropertiesNV::maxTriangleCounttype is ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV then geometryCount must be 0type is ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV then instanceCount must be 0type is ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV then the geometryType member of each geometry in pGeometries must be the sameflags has the BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV bit set, then it must not have the BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV bit setscratch must have been created with BUFFER_USAGE_RAY_TRACING_BIT_NV usage flaginstanceData is not NULL_HANDLE, instanceData must have been created with BUFFER_USAGE_RAY_TRACING_BIT_NV usage flagsType must be STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NVpNext must be NULLtype must be a valid VkAccelerationStructureTypeNV valueflags must be a valid combination of VkBuildAccelerationStructureFlagBitsNV valuesgeometryCount is not 0, pGeometries must be a valid pointer to an array of geometryCount valid VkGeometryNV structuresVkAccelerationStructureCreateInfoNV, VkGeometryNV, CmdBuildAccelerationStructureNV
sType – the type of this structure.pNext – NULL or a pointer to an extension-specific structure.type – a VkAccelerationStructureTypeNV value specifying the type of acceleration structure that will be created.flags – a bitmask of VkBuildAccelerationStructureFlagBitsNV specifying additional parameters of the acceleration structure.instanceCount – specifies the number of instances that will be in the new acceleration structure.geometryCount – specifies the number of geometries that will be in the new acceleration structure.pGeometries – a pointer to an array of geometryCount VkGeometryNV structures containing the scene data being passed into the acceleration structure.
struct VkAccelerationStructureInfoNV {
VkStructureType sType;
void const * pNext;
VkAccelerationStructureTypeNV type;
VkBuildAccelerationStructureFlagsNV flags;
uint32_t instanceCount;
uint32_t geometryCount;
VkGeometryNV const * pGeometries;
}| Modifier and Type | Class and Description |
|---|---|
static class |
VkAccelerationStructureInfoNV.Buffer
An array of
VkAccelerationStructureInfoNV structs. |
| Modifier and Type | Field and Description |
|---|---|
static int |
ALIGNOF
The struct alignment in bytes.
|
static int |
FLAGS
The struct member offsets.
|
static int |
GEOMETRYCOUNT
The struct member offsets.
|
static int |
INSTANCECOUNT
The struct member offsets.
|
static int |
PGEOMETRIES
The struct member offsets.
|
static int |
PNEXT
The struct member offsets.
|
static int |
SIZEOF
The struct size in bytes.
|
static int |
STYPE
The struct member offsets.
|
static int |
TYPE
The struct member offsets.
|
| Constructor and Description |
|---|
VkAccelerationStructureInfoNV(java.nio.ByteBuffer container)
Creates a
VkAccelerationStructureInfoNV instance at the current position of the specified ByteBuffer container. |
| Modifier and Type | Method and Description |
|---|---|
static VkAccelerationStructureInfoNV |
calloc()
Returns a new
VkAccelerationStructureInfoNV instance allocated with memCalloc. |
static VkAccelerationStructureInfoNV.Buffer |
calloc(int capacity)
Returns a new
VkAccelerationStructureInfoNV.Buffer instance allocated with memCalloc. |
static VkAccelerationStructureInfoNV |
callocStack()
Returns a new
VkAccelerationStructureInfoNV instance allocated on the thread-local MemoryStack and initializes all its bits to zero. |
static VkAccelerationStructureInfoNV.Buffer |
callocStack(int capacity)
Returns a new
VkAccelerationStructureInfoNV.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero. |
static VkAccelerationStructureInfoNV.Buffer |
callocStack(int capacity,
org.lwjgl.system.MemoryStack stack)
Returns a new
VkAccelerationStructureInfoNV.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero. |
static VkAccelerationStructureInfoNV |
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a new
VkAccelerationStructureInfoNV instance allocated on the specified MemoryStack and initializes all its bits to zero. |
static VkAccelerationStructureInfoNV |
create()
Returns a new
VkAccelerationStructureInfoNV instance allocated with BufferUtils. |
static VkAccelerationStructureInfoNV.Buffer |
create(int capacity)
Returns a new
VkAccelerationStructureInfoNV.Buffer instance allocated with BufferUtils. |
static VkAccelerationStructureInfoNV |
create(long address)
Returns a new
VkAccelerationStructureInfoNV instance for the specified memory address. |
static VkAccelerationStructureInfoNV.Buffer |
create(long address,
int capacity)
Create a
VkAccelerationStructureInfoNV.Buffer instance at the specified memory. |
static VkAccelerationStructureInfoNV |
createSafe(long address)
|
static VkAccelerationStructureInfoNV.Buffer |
createSafe(long address,
int capacity)
|
int |
flags()
Returns the value of the
flags field. |
VkAccelerationStructureInfoNV |
flags(int value)
Sets the specified value to the
flags field. |
int |
geometryCount()
Returns the value of the
geometryCount field. |
int |
instanceCount()
Returns the value of the
instanceCount field. |
VkAccelerationStructureInfoNV |
instanceCount(int value)
Sets the specified value to the
instanceCount field. |
static VkAccelerationStructureInfoNV |
malloc()
Returns a new
VkAccelerationStructureInfoNV instance allocated with memAlloc. |
static VkAccelerationStructureInfoNV.Buffer |
malloc(int capacity)
Returns a new
VkAccelerationStructureInfoNV.Buffer instance allocated with memAlloc. |
static VkAccelerationStructureInfoNV |
mallocStack()
Returns a new
VkAccelerationStructureInfoNV instance allocated on the thread-local MemoryStack. |
static VkAccelerationStructureInfoNV.Buffer |
mallocStack(int capacity)
Returns a new
VkAccelerationStructureInfoNV.Buffer instance allocated on the thread-local MemoryStack. |
static VkAccelerationStructureInfoNV.Buffer |
mallocStack(int capacity,
org.lwjgl.system.MemoryStack stack)
Returns a new
VkAccelerationStructureInfoNV.Buffer instance allocated on the specified MemoryStack. |
static VkAccelerationStructureInfoNV |
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a new
VkAccelerationStructureInfoNV instance allocated on the specified MemoryStack. |
static int |
nflags(long struct)
Unsafe version of
flags(). |
static void |
nflags(long struct,
int value)
Unsafe version of
flags. |
static int |
ngeometryCount(long struct)
Unsafe version of
geometryCount(). |
static void |
ngeometryCount(long struct,
int value)
Sets the specified value to the
geometryCount field of the specified struct. |
static int |
ninstanceCount(long struct)
Unsafe version of
instanceCount(). |
static void |
ninstanceCount(long struct,
int value)
Unsafe version of
instanceCount. |
static VkGeometryNV.Buffer |
npGeometries(long struct)
Unsafe version of
pGeometries(). |
static void |
npGeometries(long struct,
VkGeometryNV.Buffer value)
Unsafe version of
pGeometries. |
static long |
npNext(long struct)
Unsafe version of
pNext(). |
static void |
npNext(long struct,
long value)
Unsafe version of
pNext. |
static int |
nsType(long struct)
Unsafe version of
sType(). |
static void |
nsType(long struct,
int value)
Unsafe version of
sType. |
static int |
ntype(long struct)
Unsafe version of
type(). |
static void |
ntype(long struct,
int value)
Unsafe version of
type. |
VkGeometryNV.Buffer |
pGeometries()
Returns a
VkGeometryNV.Buffer view of the struct array pointed to by the pGeometries field. |
VkAccelerationStructureInfoNV |
pGeometries(VkGeometryNV.Buffer value)
Sets the address of the specified
VkGeometryNV.Buffer to the pGeometries field. |
long |
pNext()
Returns the value of the
pNext field. |
VkAccelerationStructureInfoNV |
pNext(long value)
Sets the specified value to the
pNext field. |
VkAccelerationStructureInfoNV |
set(int sType,
long pNext,
int type,
int flags,
int instanceCount,
VkGeometryNV.Buffer pGeometries)
Initializes this struct with the specified values.
|
VkAccelerationStructureInfoNV |
set(VkAccelerationStructureInfoNV src)
Copies the specified struct data to this struct.
|
int |
sizeof() |
int |
sType()
Returns the value of the
sType field. |
VkAccelerationStructureInfoNV |
sType(int value)
Sets the specified value to the
sType field. |
int |
type()
Returns the value of the
type field. |
VkAccelerationStructureInfoNV |
type(int value)
Sets the specified value to the
type field. |
static void |
validate(long struct)
Validates pointer members that should not be
NULL. |
static void |
validate(long array,
int count)
Calls
validate(long) for each struct contained in the specified struct array. |
public static final int SIZEOF
public static final int ALIGNOF
public static final int STYPE
public static final int PNEXT
public static final int TYPE
public static final int FLAGS
public static final int INSTANCECOUNT
public static final int GEOMETRYCOUNT
public static final int PGEOMETRIES
public VkAccelerationStructureInfoNV(java.nio.ByteBuffer container)
VkAccelerationStructureInfoNV instance at the current position of the specified ByteBuffer container. Changes to the buffer's content will be
visible to the struct instance and vice versa.
The created instance holds a strong reference to the container object.
public int sizeof()
sizeof in class org.lwjgl.system.Structpublic int sType()
sType field.public long pNext()
pNext field.public int type()
type field.public int flags()
flags field.public int instanceCount()
instanceCount field.public int geometryCount()
geometryCount field.@Nullable public VkGeometryNV.Buffer pGeometries()
VkGeometryNV.Buffer view of the struct array pointed to by the pGeometries field.public VkAccelerationStructureInfoNV sType(int value)
sType field.public VkAccelerationStructureInfoNV pNext(long value)
pNext field.public VkAccelerationStructureInfoNV type(int value)
type field.public VkAccelerationStructureInfoNV flags(int value)
flags field.public VkAccelerationStructureInfoNV instanceCount(int value)
instanceCount field.public VkAccelerationStructureInfoNV pGeometries(@Nullable VkGeometryNV.Buffer value)
VkGeometryNV.Buffer to the pGeometries field.public VkAccelerationStructureInfoNV set(int sType, long pNext, int type, int flags, int instanceCount, @Nullable VkGeometryNV.Buffer pGeometries)
public VkAccelerationStructureInfoNV set(VkAccelerationStructureInfoNV src)
src - the source structpublic static VkAccelerationStructureInfoNV malloc()
VkAccelerationStructureInfoNV instance allocated with memAlloc. The instance must be explicitly freed.public static VkAccelerationStructureInfoNV calloc()
VkAccelerationStructureInfoNV instance allocated with memCalloc. The instance must be explicitly freed.public static VkAccelerationStructureInfoNV create()
VkAccelerationStructureInfoNV instance allocated with BufferUtils.public static VkAccelerationStructureInfoNV create(long address)
VkAccelerationStructureInfoNV instance for the specified memory address.@Nullable public static VkAccelerationStructureInfoNV createSafe(long address)
public static VkAccelerationStructureInfoNV.Buffer malloc(int capacity)
VkAccelerationStructureInfoNV.Buffer instance allocated with memAlloc. The instance must be explicitly freed.capacity - the buffer capacitypublic static VkAccelerationStructureInfoNV.Buffer calloc(int capacity)
VkAccelerationStructureInfoNV.Buffer instance allocated with memCalloc. The instance must be explicitly freed.capacity - the buffer capacitypublic static VkAccelerationStructureInfoNV.Buffer create(int capacity)
VkAccelerationStructureInfoNV.Buffer instance allocated with BufferUtils.capacity - the buffer capacitypublic static VkAccelerationStructureInfoNV.Buffer create(long address, int capacity)
VkAccelerationStructureInfoNV.Buffer instance at the specified memory.address - the memory addresscapacity - the buffer capacity@Nullable public static VkAccelerationStructureInfoNV.Buffer createSafe(long address, int capacity)
public static VkAccelerationStructureInfoNV mallocStack()
VkAccelerationStructureInfoNV instance allocated on the thread-local MemoryStack.public static VkAccelerationStructureInfoNV callocStack()
VkAccelerationStructureInfoNV instance allocated on the thread-local MemoryStack and initializes all its bits to zero.public static VkAccelerationStructureInfoNV mallocStack(org.lwjgl.system.MemoryStack stack)
VkAccelerationStructureInfoNV instance allocated on the specified MemoryStack.stack - the stack from which to allocatepublic static VkAccelerationStructureInfoNV callocStack(org.lwjgl.system.MemoryStack stack)
VkAccelerationStructureInfoNV instance allocated on the specified MemoryStack and initializes all its bits to zero.stack - the stack from which to allocatepublic static VkAccelerationStructureInfoNV.Buffer mallocStack(int capacity)
VkAccelerationStructureInfoNV.Buffer instance allocated on the thread-local MemoryStack.capacity - the buffer capacitypublic static VkAccelerationStructureInfoNV.Buffer callocStack(int capacity)
VkAccelerationStructureInfoNV.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero.capacity - the buffer capacitypublic static VkAccelerationStructureInfoNV.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
VkAccelerationStructureInfoNV.Buffer instance allocated on the specified MemoryStack.stack - the stack from which to allocatecapacity - the buffer capacitypublic static VkAccelerationStructureInfoNV.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
VkAccelerationStructureInfoNV.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.stack - the stack from which to allocatecapacity - the buffer capacitypublic static int nsType(long struct)
sType().public static long npNext(long struct)
pNext().public static int ntype(long struct)
type().public static int nflags(long struct)
flags().public static int ninstanceCount(long struct)
instanceCount().public static int ngeometryCount(long struct)
geometryCount().@Nullable public static VkGeometryNV.Buffer npGeometries(long struct)
pGeometries().public static void nsType(long struct,
int value)
sType.public static void npNext(long struct,
long value)
pNext.public static void ntype(long struct,
int value)
type.public static void nflags(long struct,
int value)
flags.public static void ninstanceCount(long struct,
int value)
instanceCount.public static void ngeometryCount(long struct,
int value)
geometryCount field of the specified struct.public static void npGeometries(long struct,
@Nullable
VkGeometryNV.Buffer value)
pGeometries.public static void validate(long struct)
NULL.struct - the struct to validatepublic static void validate(long array,
int count)
validate(long) for each struct contained in the specified struct array.array - the struct array to validatecount - the number of structs in arrayCopyright LWJGL. All Rights Reserved. License terms.