All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.lwjgl.vulkan.EXTVertexAttributeDivisor Maven / Gradle / Ivy

Go to download

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.

There is a newer version: 3.3.4
Show newest version
/*
 * 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
*
*
* *
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() {} }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy