Package org.lwjgl.vulkan
Class VkVertexInputBindingDivisorDescription
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkVertexInputBindingDivisorDescription>
org.lwjgl.vulkan.VkVertexInputBindingDivisorDescription
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
- Direct Known Subclasses:
VkVertexInputBindingDivisorDescriptionEXT,VkVertexInputBindingDivisorDescriptionKHR
public class VkVertexInputBindingDivisorDescription
extends org.lwjgl.system.Struct<VkVertexInputBindingDivisorDescription>
implements org.lwjgl.system.NativeResource
Structure specifying a divisor used in instanced rendering.
Description
If this structure is not used to define a divisor value for an attribute, then the divisor has a logical default value of 1.
Valid Usage
bindingmust be less thanVkPhysicalDeviceLimits::maxVertexInputBindings- If the
vertexAttributeInstanceRateZeroDivisorfeature is not enabled,divisormust not be 0 - If the
vertexAttributeInstanceRateDivisorfeature is not enabled,divisormust be 1 divisormust be a value between 0 andVkPhysicalDeviceVertexAttributeDivisorProperties::maxVertexAttribDivisor, inclusiveVkVertexInputBindingDescription::inputRatemust be of typeVERTEX_INPUT_RATE_INSTANCEfor thisbinding
See Also
VkPipelineVertexInputDivisorStateCreateInfo
Layout
struct VkVertexInputBindingDivisorDescription {
uint32_t binding();
uint32_t divisor();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofVkVertexInputBindingDivisorDescriptionstructs.Nested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionVkVertexInputBindingDivisorDescription(ByteBuffer container) Creates aVkVertexInputBindingDivisorDescriptioninstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionintbinding()the binding number for which the divisor is specified.binding(int value) Sets the specified value to thebinding()field.calloc()Returns a newVkVertexInputBindingDivisorDescriptioninstance allocated withmemCalloc.calloc(int capacity) Returns a newVkVertexInputBindingDivisorDescription.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVertexInputBindingDivisorDescription.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkVertexInputBindingDivisorDescriptioninstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newVkVertexInputBindingDivisorDescriptioninstance allocated withBufferUtils.create(int capacity) Returns a newVkVertexInputBindingDivisorDescription.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkVertexInputBindingDivisorDescriptioninstance for the specified memory address.create(long address, int capacity) Create aVkVertexInputBindingDivisorDescription.Bufferinstance at the specified memory.static @Nullable VkVertexInputBindingDivisorDescriptioncreateSafe(long address) static @Nullable VkVertexInputBindingDivisorDescription.BuffercreateSafe(long address, int capacity) intdivisor()the number of successive instances that will use the same value of the vertex attribute when instanced rendering is enabled.divisor(int value) Sets the specified value to thedivisor()field.malloc()Returns a newVkVertexInputBindingDivisorDescriptioninstance allocated withmemAlloc.malloc(int capacity) Returns a newVkVertexInputBindingDivisorDescription.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVertexInputBindingDivisorDescription.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkVertexInputBindingDivisorDescriptioninstance allocated on the specifiedMemoryStack.static intnbinding(long struct) Unsafe version ofbinding().static voidnbinding(long struct, int value) Unsafe version ofbinding.static intndivisor(long struct) Unsafe version ofdivisor().static voidndivisor(long struct, int value) Unsafe version ofdivisor.set(int binding, int divisor) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
BINDING
public static final int BINDINGThe struct member offsets. -
DIVISOR
public static final int DIVISORThe struct member offsets.
-
-
Constructor Details
-
VkVertexInputBindingDivisorDescription
Creates aVkVertexInputBindingDivisorDescriptioninstance at the current position of the specifiedByteBuffercontainer. 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 Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<VkVertexInputBindingDivisorDescription>
-
binding
public int binding()the binding number for which the divisor is specified. -
divisor
public int divisor()the number of successive instances that will use the same value of the vertex attribute when instanced rendering is enabled. For example, if the divisor is N, the same vertex attribute will be applied to N successive instances before moving on to the next vertex attribute. The maximum value ofdivisoris implementation-dependent and can be queried usingVkPhysicalDeviceVertexAttributeDivisorProperties::maxVertexAttribDivisor. A value of 0 can be used for the divisor if thevertexAttributeInstanceRateZeroDivisorfeature is enabled. In this case, the same vertex attribute will be applied to all instances. -
binding
Sets the specified value to thebinding()field. -
divisor
Sets the specified value to thedivisor()field. -
set
Initializes this struct with the specified values. -
set
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newVkVertexInputBindingDivisorDescriptioninstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkVertexInputBindingDivisorDescriptioninstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkVertexInputBindingDivisorDescriptioninstance allocated withBufferUtils. -
create
Returns a newVkVertexInputBindingDivisorDescriptioninstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkVertexInputBindingDivisorDescription.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkVertexInputBindingDivisorDescription.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkVertexInputBindingDivisorDescription.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkVertexInputBindingDivisorDescription.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable VkVertexInputBindingDivisorDescription.Buffer createSafe(long address, int capacity) -
malloc
Returns a newVkVertexInputBindingDivisorDescriptioninstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkVertexInputBindingDivisorDescriptioninstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkVertexInputBindingDivisorDescription.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVertexInputBindingDivisorDescription.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkVertexInputBindingDivisorDescription.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVertexInputBindingDivisorDescription.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nbinding
public static int nbinding(long struct) Unsafe version ofbinding(). -
ndivisor
public static int ndivisor(long struct) Unsafe version ofdivisor(). -
nbinding
public static void nbinding(long struct, int value) Unsafe version ofbinding. -
ndivisor
public static void ndivisor(long struct, int value) Unsafe version ofdivisor.
-