Package org.lwjgl.vulkan
Class VkVertexInputAttributeDescription
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkVertexInputAttributeDescription>
org.lwjgl.vulkan.VkVertexInputAttributeDescription
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class VkVertexInputAttributeDescription
extends org.lwjgl.system.Struct<VkVertexInputAttributeDescription>
implements org.lwjgl.system.NativeResource
Structure specifying vertex input attribute description.
Valid Usage
locationmust be less thanVkPhysicalDeviceLimits::maxVertexInputAttributesbindingmust be less thanVkPhysicalDeviceLimits::maxVertexInputBindingsoffsetmust be less than or equal toVkPhysicalDeviceLimits::maxVertexInputAttributeOffset- The format features of
formatmust containFORMAT_FEATURE_VERTEX_BUFFER_BIT - If the
VK_KHR_portability_subsetextension is enabled, andVkPhysicalDevicePortabilitySubsetFeaturesKHR::vertexAttributeAccessBeyondStrideisFALSE, the sum ofoffsetplus the size of the vertex attribute data described byformatmust not be greater thanstridein theVkVertexInputBindingDescriptionreferenced inbinding
Valid Usage (Implicit)
formatmust be a validVkFormatvalue
See Also
VkPipelineVertexInputStateCreateInfo
Layout
struct VkVertexInputAttributeDescription {
uint32_t location();
uint32_t binding();
VkFormat format();
uint32_t offset();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofVkVertexInputAttributeDescriptionstructs.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 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
ConstructorsConstructorDescriptionVkVertexInputAttributeDescription(ByteBuffer container) Creates aVkVertexInputAttributeDescriptioninstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionintbinding()the binding number which this attribute takes its data from.binding(int value) Sets the specified value to thebinding()field.calloc()Returns a newVkVertexInputAttributeDescriptioninstance allocated withmemCalloc.calloc(int capacity) Returns a newVkVertexInputAttributeDescription.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVertexInputAttributeDescription.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkVertexInputAttributeDescriptioninstance allocated on the specifiedMemoryStackand initializes all its bits to zero.Deprecated.callocStack(int capacity) Deprecated.callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.callocStack(org.lwjgl.system.MemoryStack stack) Deprecated.create()Returns a newVkVertexInputAttributeDescriptioninstance allocated withBufferUtils.create(int capacity) Returns a newVkVertexInputAttributeDescription.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkVertexInputAttributeDescriptioninstance for the specified memory address.create(long address, int capacity) Create aVkVertexInputAttributeDescription.Bufferinstance at the specified memory.static @Nullable VkVertexInputAttributeDescriptioncreateSafe(long address) static @Nullable VkVertexInputAttributeDescription.BuffercreateSafe(long address, int capacity) intformat()the size and type of the vertex attribute data.format(int value) Sets the specified value to theformat()field.intlocation()the shader input location number for this attribute.location(int value) Sets the specified value to thelocation()field.malloc()Returns a newVkVertexInputAttributeDescriptioninstance allocated withmemAlloc.malloc(int capacity) Returns a newVkVertexInputAttributeDescription.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVertexInputAttributeDescription.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkVertexInputAttributeDescriptioninstance allocated on the specifiedMemoryStack.Deprecated.mallocStack(int capacity) Deprecated.mallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.mallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.static intnbinding(long struct) Unsafe version ofbinding().static voidnbinding(long struct, int value) Unsafe version ofbinding.static intnformat(long struct) Unsafe version offormat().static voidnformat(long struct, int value) Unsafe version offormat.static intnlocation(long struct) Unsafe version oflocation().static voidnlocation(long struct, int value) Unsafe version oflocation.static intnoffset(long struct) Unsafe version ofoffset().static voidnoffset(long struct, int value) Unsafe version ofoffset.intoffset()a byte offset of this attribute relative to the start of an element in the vertex input binding.offset(int value) Sets the specified value to theoffset()field.set(int location, int binding, int format, int offset) 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. -
LOCATION
public static final int LOCATIONThe struct member offsets. -
BINDING
public static final int BINDINGThe struct member offsets. -
FORMAT
public static final int FORMATThe struct member offsets. -
OFFSET
public static final int OFFSETThe struct member offsets.
-
-
Constructor Details
-
VkVertexInputAttributeDescription
Creates aVkVertexInputAttributeDescriptioninstance 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<VkVertexInputAttributeDescription>
-
location
public int location()the shader input location number for this attribute. -
binding
public int binding()the binding number which this attribute takes its data from. -
format
public int format()the size and type of the vertex attribute data. -
offset
public int offset()a byte offset of this attribute relative to the start of an element in the vertex input binding. -
location
Sets the specified value to thelocation()field. -
binding
Sets the specified value to thebinding()field. -
format
Sets the specified value to theformat()field. -
offset
Sets the specified value to theoffset()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 newVkVertexInputAttributeDescriptioninstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkVertexInputAttributeDescriptioninstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkVertexInputAttributeDescriptioninstance allocated withBufferUtils. -
create
Returns a newVkVertexInputAttributeDescriptioninstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkVertexInputAttributeDescription.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkVertexInputAttributeDescription.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkVertexInputAttributeDescription.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkVertexInputAttributeDescription.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable VkVertexInputAttributeDescription.Buffer createSafe(long address, int capacity) -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead. -
mallocStack
@Deprecated public static VkVertexInputAttributeDescription mallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead. -
callocStack
@Deprecated public static VkVertexInputAttributeDescription callocStack(org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
mallocStack
@Deprecated public static VkVertexInputAttributeDescription.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead. -
callocStack
@Deprecated public static VkVertexInputAttributeDescription.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
malloc
Returns a newVkVertexInputAttributeDescriptioninstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkVertexInputAttributeDescriptioninstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkVertexInputAttributeDescription.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVertexInputAttributeDescription.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkVertexInputAttributeDescription.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVertexInputAttributeDescription.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nlocation
public static int nlocation(long struct) Unsafe version oflocation(). -
nbinding
public static int nbinding(long struct) Unsafe version ofbinding(). -
nformat
public static int nformat(long struct) Unsafe version offormat(). -
noffset
public static int noffset(long struct) Unsafe version ofoffset(). -
nlocation
public static void nlocation(long struct, int value) Unsafe version oflocation. -
nbinding
public static void nbinding(long struct, int value) Unsafe version ofbinding. -
nformat
public static void nformat(long struct, int value) Unsafe version offormat. -
noffset
public static void noffset(long struct, int value) Unsafe version ofoffset.
-