org.lwjgl.vulkan.EXTVertexAttributeDivisor Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of lwjgl-vulkan Show documentation
Show all versions of lwjgl-vulkan Show documentation
A new generation graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs used in a wide variety of devices from PCs and consoles to mobile phones and embedded platforms.
/*
* Copyright LWJGL. All rights reserved.
* License terms: https://www.lwjgl.org/license
* MACHINE GENERATED FILE, DO NOT EDIT
*/
package org.lwjgl.vulkan;
/**
* This extension allows instance-rate vertex attributes to be repeated for certain number of instances instead of advancing for every instance when instanced rendering is enabled.
*
* Examples
*
* To create a vertex binding such that the first binding uses instanced rendering and the same attribute is used for every 4 draw instances, an application could use the following set of structures:
*
*
* const VkVertexInputBindingDivisorDescriptionEXT divisorDesc =
* {
* 0,
* 4
* };
*
* const VkPipelineVertexInputDivisorStateCreateInfoEXT divisorInfo =
* {
* VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT, // sType
* NULL, // pNext
* 1, // vertexBindingDivisorCount
* &divisorDesc // pVertexBindingDivisors
* }
*
* const VkVertexInputBindingDescription binding =
* {
* 0, // binding
* sizeof(Vertex), // stride
* VK_VERTEX_INPUT_RATE_INSTANCE // inputRate
* };
*
* const VkPipelineVertexInputStateCreateInfo viInfo =
* {
* VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_CREATE_INFO, // sType
* &divisorInfo, // pNext
* ...
* };
* //...
*
* VK_EXT_vertex_attribute_divisor
*
*
* - Name String
* - {@code VK_EXT_vertex_attribute_divisor}
* - Extension Type
* - Device extension
* - Registered Extension Number
* - 191
* - Revision
* - 3
* - Extension and Version Dependencies
*
* - Requires Vulkan 1.0
* - Requires {@link KHRGetPhysicalDeviceProperties2 VK_KHR_get_physical_device_properties2}
*
* - Contact
*
* - Vikram Kushwaha vkushwaha
*
*
*
* Other Extension Metadata
*
*
* - Last Modified Date
* - 2018-08-03
* - IP Status
* - No known IP claims.
* - Contributors
*
* - Vikram Kushwaha, NVIDIA
* - Jason Ekstrand, Intel
*
*
*/
public final class EXTVertexAttributeDivisor {
/** The extension specification version. */
public static final int VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION = 3;
/** The extension name. */
public static final String VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME = "VK_EXT_vertex_attribute_divisor";
/**
* Extends {@code VkStructureType}.
*
* Enum values:
*
*
* - {@link #VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT}
* - {@link #VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT}
* - {@link #VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT}
*
*/
public static final int
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002;
private EXTVertexAttributeDivisor() {}
}