Package org.lwjgl.vulkan
Class VkVertexInputBindingDivisorDescriptionKHR
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkVertexInputBindingDivisorDescriptionKHR>
org.lwjgl.vulkan.VkVertexInputBindingDivisorDescriptionKHR
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
- Direct Known Subclasses:
VkVertexInputBindingDivisorDescriptionEXT
public class VkVertexInputBindingDivisorDescriptionKHR
extends org.lwjgl.system.Struct<VkVertexInputBindingDivisorDescriptionKHR>
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 andVkPhysicalDeviceVertexAttributeDivisorPropertiesKHR::maxVertexAttribDivisor, inclusiveVkVertexInputBindingDescription::inputRatemust be of typeVERTEX_INPUT_RATE_INSTANCEfor thisbinding
See Also
VkPipelineVertexInputDivisorStateCreateInfoKHR
Layout
struct VkVertexInputBindingDivisorDescriptionKHR {
uint32_t binding();
uint32_t divisor();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofVkVertexInputBindingDivisorDescriptionKHRstructs.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
ConstructorsConstructorDescriptionCreates aVkVertexInputBindingDivisorDescriptionKHRinstance 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 newVkVertexInputBindingDivisorDescriptionKHRinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkVertexInputBindingDivisorDescriptionKHR.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVertexInputBindingDivisorDescriptionKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkVertexInputBindingDivisorDescriptionKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newVkVertexInputBindingDivisorDescriptionKHRinstance allocated withBufferUtils.create(int capacity) Returns a newVkVertexInputBindingDivisorDescriptionKHR.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkVertexInputBindingDivisorDescriptionKHRinstance for the specified memory address.create(long address, int capacity) Create aVkVertexInputBindingDivisorDescriptionKHR.Bufferinstance at the specified memory.createSafe(long address) createSafe(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 newVkVertexInputBindingDivisorDescriptionKHRinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkVertexInputBindingDivisorDescriptionKHR.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVertexInputBindingDivisorDescriptionKHR.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkVertexInputBindingDivisorDescriptionKHRinstance 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, 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
-
VkVertexInputBindingDivisorDescriptionKHR
Creates aVkVertexInputBindingDivisorDescriptionKHRinstance 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<VkVertexInputBindingDivisorDescriptionKHR>
-
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 usingVkPhysicalDeviceVertexAttributeDivisorPropertiesKHR::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 newVkVertexInputBindingDivisorDescriptionKHRinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkVertexInputBindingDivisorDescriptionKHRinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkVertexInputBindingDivisorDescriptionKHRinstance allocated withBufferUtils. -
create
Returns a newVkVertexInputBindingDivisorDescriptionKHRinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkVertexInputBindingDivisorDescriptionKHR.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkVertexInputBindingDivisorDescriptionKHR.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkVertexInputBindingDivisorDescriptionKHR.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkVertexInputBindingDivisorDescriptionKHR.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
@Nullable public static VkVertexInputBindingDivisorDescriptionKHR.Buffer createSafe(long address, int capacity) -
malloc
Returns a newVkVertexInputBindingDivisorDescriptionKHRinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkVertexInputBindingDivisorDescriptionKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkVertexInputBindingDivisorDescriptionKHR.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVertexInputBindingDivisorDescriptionKHR.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkVertexInputBindingDivisorDescriptionKHR.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVertexInputBindingDivisorDescriptionKHR.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.
-