Package org.lwjgl.vulkan
Class VkRayTracingShaderGroupCreateInfoNV
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkRayTracingShaderGroupCreateInfoNV
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,org.lwjgl.system.NativeResource
,org.lwjgl.system.Pointer
public class VkRayTracingShaderGroupCreateInfoNV extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResource
Structure specifying shaders in a shader group.Valid Usage
- If
type
isRAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV
thengeneralShader
must be a valid index intopStages
referring to a shader ofSHADER_STAGE_RAYGEN_BIT_NV
,SHADER_STAGE_MISS_BIT_NV
, orSHADER_STAGE_CALLABLE_BIT_NV
- If
type
isRAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV
thenclosestHitShader
,anyHitShader
, andintersectionShader
must beSHADER_UNUSED_NV
- If
type
isRAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV
thenintersectionShader
must be a valid index intopStages
referring to a shader ofSHADER_STAGE_INTERSECTION_BIT_NV
- If
type
isRAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV
thenintersectionShader
must beSHADER_UNUSED_NV
closestHitShader
must be eitherSHADER_UNUSED_NV
or a valid index intopStages
referring to a shader ofSHADER_STAGE_CLOSEST_HIT_BIT_NV
anyHitShader
must be eitherSHADER_UNUSED_NV
or a valid index intopStages
referring to a shader ofSHADER_STAGE_ANY_HIT_BIT_NV
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV
pNext
must beNULL
type
must be a validVkRayTracingShaderGroupTypeNV
value
See Also
VkRayTracingPipelineCreateInfoNV
Member documentation
sType
– the type of this structure.pNext
–NULL
or a pointer to an extension-specific structure.type
– the type of hit group specified in this structure.generalShader
– the index of the ray generation, miss, or callable shader fromVkRayTracingPipelineCreateInfoNV
::pStages
in the group if the shader group hastype
ofRAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV
andSHADER_UNUSED_NV
otherwise.closestHitShader
– the optional index of the closest hit shader fromVkRayTracingPipelineCreateInfoNV
::pStages
in the group if the shader group hastype
ofRAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV
orRAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV
andSHADER_UNUSED_NV
otherwise.anyHitShader
– the optional index of the any-hit shader fromVkRayTracingPipelineCreateInfoNV
::pStages
in the group if the shader group hastype
ofRAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV
orRAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV
andSHADER_UNUSED_NV
otherwise.intersectionShader
– the index of the intersection shader fromVkRayTracingPipelineCreateInfoNV
::pStages
in the group if the shader group hastype
ofRAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV
andSHADER_UNUSED_NV
otherwise.
Layout
struct VkRayTracingShaderGroupCreateInfoNV { VkStructureType sType; void const * pNext; VkRayTracingShaderGroupTypeNV type; uint32_t generalShader; uint32_t closestHitShader; uint32_t anyHitShader; uint32_t intersectionShader; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VkRayTracingShaderGroupCreateInfoNV.Buffer
An array ofVkRayTracingShaderGroupCreateInfoNV
structs.
-
Field Summary
Fields Modifier and Type Field Description static int
ALIGNOF
The struct alignment in bytes.static int
ANYHITSHADER
CLOSESTHITSHADER
GENERALSHADER
INTERSECTIONSHADER
PNEXTThe struct member offsets.static int
SIZEOF
The struct size in bytes.static int
STYPE
TYPEThe struct member offsets.
-
Constructor Summary
Constructors Constructor Description VkRayTracingShaderGroupCreateInfoNV(java.nio.ByteBuffer container)
Creates aVkRayTracingShaderGroupCreateInfoNV
instance at the current position of the specifiedByteBuffer
container.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
anyHitShader()
Returns the value of theanyHitShader
field.VkRayTracingShaderGroupCreateInfoNV
anyHitShader(int value)
Sets the specified value to theanyHitShader
field.static VkRayTracingShaderGroupCreateInfoNV
calloc()
Returns a newVkRayTracingShaderGroupCreateInfoNV
instance allocated withmemCalloc
.static VkRayTracingShaderGroupCreateInfoNV.Buffer
calloc(int capacity)
Returns a newVkRayTracingShaderGroupCreateInfoNV.Buffer
instance allocated withmemCalloc
.static VkRayTracingShaderGroupCreateInfoNV
callocStack()
Returns a newVkRayTracingShaderGroupCreateInfoNV
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkRayTracingShaderGroupCreateInfoNV.Buffer
callocStack(int capacity)
Returns a newVkRayTracingShaderGroupCreateInfoNV.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkRayTracingShaderGroupCreateInfoNV.Buffer
callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkRayTracingShaderGroupCreateInfoNV.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkRayTracingShaderGroupCreateInfoNV
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkRayTracingShaderGroupCreateInfoNV
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.int
closestHitShader()
Returns the value of theclosestHitShader
field.VkRayTracingShaderGroupCreateInfoNV
closestHitShader(int value)
Sets the specified value to theclosestHitShader
field.static VkRayTracingShaderGroupCreateInfoNV
create()
Returns a newVkRayTracingShaderGroupCreateInfoNV
instance allocated withBufferUtils
.static VkRayTracingShaderGroupCreateInfoNV.Buffer
create(int capacity)
Returns a newVkRayTracingShaderGroupCreateInfoNV.Buffer
instance allocated withBufferUtils
.static VkRayTracingShaderGroupCreateInfoNV
create(long address)
Returns a newVkRayTracingShaderGroupCreateInfoNV
instance for the specified memory address.static VkRayTracingShaderGroupCreateInfoNV.Buffer
create(long address, int capacity)
Create aVkRayTracingShaderGroupCreateInfoNV.Buffer
instance at the specified memory.static VkRayTracingShaderGroupCreateInfoNV
createSafe(long address)
static VkRayTracingShaderGroupCreateInfoNV.Buffer
createSafe(long address, int capacity)
int
generalShader()
Returns the value of thegeneralShader
field.VkRayTracingShaderGroupCreateInfoNV
generalShader(int value)
Sets the specified value to thegeneralShader
field.int
intersectionShader()
Returns the value of theintersectionShader
field.VkRayTracingShaderGroupCreateInfoNV
intersectionShader(int value)
Sets the specified value to theintersectionShader
field.static VkRayTracingShaderGroupCreateInfoNV
malloc()
Returns a newVkRayTracingShaderGroupCreateInfoNV
instance allocated withmemAlloc
.static VkRayTracingShaderGroupCreateInfoNV.Buffer
malloc(int capacity)
Returns a newVkRayTracingShaderGroupCreateInfoNV.Buffer
instance allocated withmemAlloc
.static VkRayTracingShaderGroupCreateInfoNV
mallocStack()
Returns a newVkRayTracingShaderGroupCreateInfoNV
instance allocated on the thread-localMemoryStack
.static VkRayTracingShaderGroupCreateInfoNV.Buffer
mallocStack(int capacity)
Returns a newVkRayTracingShaderGroupCreateInfoNV.Buffer
instance allocated on the thread-localMemoryStack
.static VkRayTracingShaderGroupCreateInfoNV.Buffer
mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkRayTracingShaderGroupCreateInfoNV.Buffer
instance allocated on the specifiedMemoryStack
.static VkRayTracingShaderGroupCreateInfoNV
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkRayTracingShaderGroupCreateInfoNV
instance allocated on the specifiedMemoryStack
.static int
nanyHitShader(long struct)
Unsafe version ofanyHitShader()
.static void
nanyHitShader(long struct, int value)
Unsafe version ofanyHitShader
.static int
nclosestHitShader(long struct)
Unsafe version ofclosestHitShader()
.static void
nclosestHitShader(long struct, int value)
Unsafe version ofclosestHitShader
.static int
ngeneralShader(long struct)
Unsafe version ofgeneralShader()
.static void
ngeneralShader(long struct, int value)
Unsafe version ofgeneralShader
.static int
nintersectionShader(long struct)
Unsafe version ofintersectionShader()
.static void
nintersectionShader(long struct, int value)
Unsafe version ofintersectionShader
.static long
npNext(long struct)
Unsafe version ofpNext()
.static void
npNext(long struct, long value)
Unsafe version ofpNext
.static int
nsType(long struct)
Unsafe version ofsType()
.static void
nsType(long struct, int value)
Unsafe version ofsType
.static int
ntype(long struct)
Unsafe version oftype()
.static void
ntype(long struct, int value)
Unsafe version oftype
.long
pNext()
Returns the value of thepNext
field.VkRayTracingShaderGroupCreateInfoNV
pNext(long value)
Sets the specified value to thepNext
field.VkRayTracingShaderGroupCreateInfoNV
set(int sType, long pNext, int type, int generalShader, int closestHitShader, int anyHitShader, int intersectionShader)
Initializes this struct with the specified values.VkRayTracingShaderGroupCreateInfoNV
set(VkRayTracingShaderGroupCreateInfoNV src)
Copies the specified struct data to this struct.int
sizeof()
int
sType()
Returns the value of thesType
field.VkRayTracingShaderGroupCreateInfoNV
sType(int value)
Sets the specified value to thesType
field.int
type()
Returns the value of thetype
field.VkRayTracingShaderGroupCreateInfoNV
type(int value)
Sets the specified value to thetype
field.
-
-
-
Constructor Detail
-
VkRayTracingShaderGroupCreateInfoNV
public VkRayTracingShaderGroupCreateInfoNV(java.nio.ByteBuffer container)
Creates aVkRayTracingShaderGroupCreateInfoNV
instance at the current position of the specifiedByteBuffer
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.
-
-
Method Detail
-
sizeof
public int sizeof()
- Specified by:
sizeof
in classorg.lwjgl.system.Struct
-
sType
public int sType()
Returns the value of thesType
field.
-
pNext
public long pNext()
Returns the value of thepNext
field.
-
type
public int type()
Returns the value of thetype
field.
-
generalShader
public int generalShader()
Returns the value of thegeneralShader
field.
-
closestHitShader
public int closestHitShader()
Returns the value of theclosestHitShader
field.
-
anyHitShader
public int anyHitShader()
Returns the value of theanyHitShader
field.
-
intersectionShader
public int intersectionShader()
Returns the value of theintersectionShader
field.
-
sType
public VkRayTracingShaderGroupCreateInfoNV sType(int value)
Sets the specified value to thesType
field.
-
pNext
public VkRayTracingShaderGroupCreateInfoNV pNext(long value)
Sets the specified value to thepNext
field.
-
type
public VkRayTracingShaderGroupCreateInfoNV type(int value)
Sets the specified value to thetype
field.
-
generalShader
public VkRayTracingShaderGroupCreateInfoNV generalShader(int value)
Sets the specified value to thegeneralShader
field.
-
closestHitShader
public VkRayTracingShaderGroupCreateInfoNV closestHitShader(int value)
Sets the specified value to theclosestHitShader
field.
-
anyHitShader
public VkRayTracingShaderGroupCreateInfoNV anyHitShader(int value)
Sets the specified value to theanyHitShader
field.
-
intersectionShader
public VkRayTracingShaderGroupCreateInfoNV intersectionShader(int value)
Sets the specified value to theintersectionShader
field.
-
set
public VkRayTracingShaderGroupCreateInfoNV set(int sType, long pNext, int type, int generalShader, int closestHitShader, int anyHitShader, int intersectionShader)
Initializes this struct with the specified values.
-
set
public VkRayTracingShaderGroupCreateInfoNV set(VkRayTracingShaderGroupCreateInfoNV src)
Copies the specified struct data to this struct.- Parameters:
src
- the source struct- Returns:
- this struct
-
malloc
public static VkRayTracingShaderGroupCreateInfoNV malloc()
Returns a newVkRayTracingShaderGroupCreateInfoNV
instance allocated withmemAlloc
. The instance must be explicitly freed.
-
calloc
public static VkRayTracingShaderGroupCreateInfoNV calloc()
Returns a newVkRayTracingShaderGroupCreateInfoNV
instance allocated withmemCalloc
. The instance must be explicitly freed.
-
create
public static VkRayTracingShaderGroupCreateInfoNV create()
Returns a newVkRayTracingShaderGroupCreateInfoNV
instance allocated withBufferUtils
.
-
create
public static VkRayTracingShaderGroupCreateInfoNV create(long address)
Returns a newVkRayTracingShaderGroupCreateInfoNV
instance for the specified memory address.
-
createSafe
@Nullable public static VkRayTracingShaderGroupCreateInfoNV createSafe(long address)
-
malloc
public static VkRayTracingShaderGroupCreateInfoNV.Buffer malloc(int capacity)
Returns a newVkRayTracingShaderGroupCreateInfoNV.Buffer
instance allocated withmemAlloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
calloc
public static VkRayTracingShaderGroupCreateInfoNV.Buffer calloc(int capacity)
Returns a newVkRayTracingShaderGroupCreateInfoNV.Buffer
instance allocated withmemCalloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
create
public static VkRayTracingShaderGroupCreateInfoNV.Buffer create(int capacity)
Returns a newVkRayTracingShaderGroupCreateInfoNV.Buffer
instance allocated withBufferUtils
.- Parameters:
capacity
- the buffer capacity
-
create
public static VkRayTracingShaderGroupCreateInfoNV.Buffer create(long address, int capacity)
Create aVkRayTracingShaderGroupCreateInfoNV.Buffer
instance at the specified memory.- Parameters:
address
- the memory addresscapacity
- the buffer capacity
-
createSafe
@Nullable public static VkRayTracingShaderGroupCreateInfoNV.Buffer createSafe(long address, int capacity)
-
mallocStack
public static VkRayTracingShaderGroupCreateInfoNV mallocStack()
Returns a newVkRayTracingShaderGroupCreateInfoNV
instance allocated on the thread-localMemoryStack
.
-
callocStack
public static VkRayTracingShaderGroupCreateInfoNV callocStack()
Returns a newVkRayTracingShaderGroupCreateInfoNV
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.
-
mallocStack
public static VkRayTracingShaderGroupCreateInfoNV mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkRayTracingShaderGroupCreateInfoNV
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
callocStack
public static VkRayTracingShaderGroupCreateInfoNV callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkRayTracingShaderGroupCreateInfoNV
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocate
-
mallocStack
public static VkRayTracingShaderGroupCreateInfoNV.Buffer mallocStack(int capacity)
Returns a newVkRayTracingShaderGroupCreateInfoNV.Buffer
instance allocated on the thread-localMemoryStack
.- Parameters:
capacity
- the buffer capacity
-
callocStack
public static VkRayTracingShaderGroupCreateInfoNV.Buffer callocStack(int capacity)
Returns a newVkRayTracingShaderGroupCreateInfoNV.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.- Parameters:
capacity
- the buffer capacity
-
mallocStack
public static VkRayTracingShaderGroupCreateInfoNV.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkRayTracingShaderGroupCreateInfoNV.Buffer
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocatecapacity
- the buffer capacity
-
callocStack
public static VkRayTracingShaderGroupCreateInfoNV.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkRayTracingShaderGroupCreateInfoNV.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocatecapacity
- the buffer capacity
-
nsType
public static int nsType(long struct)
Unsafe version ofsType()
.
-
npNext
public static long npNext(long struct)
Unsafe version ofpNext()
.
-
ntype
public static int ntype(long struct)
Unsafe version oftype()
.
-
ngeneralShader
public static int ngeneralShader(long struct)
Unsafe version ofgeneralShader()
.
-
nclosestHitShader
public static int nclosestHitShader(long struct)
Unsafe version ofclosestHitShader()
.
-
nanyHitShader
public static int nanyHitShader(long struct)
Unsafe version ofanyHitShader()
.
-
nintersectionShader
public static int nintersectionShader(long struct)
Unsafe version ofintersectionShader()
.
-
nsType
public static void nsType(long struct, int value)
Unsafe version ofsType
.
-
npNext
public static void npNext(long struct, long value)
Unsafe version ofpNext
.
-
ntype
public static void ntype(long struct, int value)
Unsafe version oftype
.
-
ngeneralShader
public static void ngeneralShader(long struct, int value)
Unsafe version ofgeneralShader
.
-
nclosestHitShader
public static void nclosestHitShader(long struct, int value)
Unsafe version ofclosestHitShader
.
-
nanyHitShader
public static void nanyHitShader(long struct, int value)
Unsafe version ofanyHitShader
.
-
nintersectionShader
public static void nintersectionShader(long struct, int value)
Unsafe version ofintersectionShader
.
-
-