org.lwjgl.vulkan.KHRSamplerMirrorClampToEdge Maven / Gradle / Ivy
Show all versions of lwjgl-vulkan Show documentation
/*
* Copyright LWJGL. All rights reserved.
* License terms: https://www.lwjgl.org/license
* MACHINE GENERATED FILE, DO NOT EDIT
*/
package org.lwjgl.vulkan;
/**
* {@code VK_KHR_sampler_mirror_clamp_to_edge} extends the set of sampler address modes to include an additional mode ({@link #VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE}) that effectively uses a texture map twice as large as the original image in which the additional half of the new image is a mirror image of the original image.
*
* This new mode relaxes the need to generate images whose opposite edges match by using the original image to generate a matching “{@code mirror image}”. This mode allows the texture to be mirrored only once in the negative s, t, and r directions.
*
* Promotion to Vulkan 1.2
*
* All functionality in this extension is included in core Vulkan 1.2. However, if Vulkan 1.2 is supported and this extension is not, the {@code VkSamplerAddressMode} {@link #VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE} is optional. Since the original extension did not use an author suffix on the enum {@link #VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE}, it is used by both core and extension implementations.
*
* Example
*
* Creating a sampler with the new address mode in each dimension
*
*
* VkSamplerCreateInfo createInfo =
* {
* VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO // sType
* // Other members set to application-desired values
* };
*
* createInfo.addressModeU = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE;
* createInfo.addressModeV = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE;
* createInfo.addressModeW = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE;
*
* VkSampler sampler;
* VkResult result = vkCreateSampler(
* device,
* &createInfo,
* &sampler);
*
* VK_KHR_sampler_mirror_clamp_to_edge
*
*
* - Name String
* - {@code VK_KHR_sampler_mirror_clamp_to_edge}
* - Extension Type
* - Device extension
* - Registered Extension Number
* - 15
* - Revision
* - 3
* - Extension and Version Dependencies
*
* - Requires Vulkan 1.0
*
* - Deprecation state
*
* - Promoted to Vulkan 1.2
*
* - Contact
*
* - Tobias Hector tobski
*
*
*
* Other Extension Metadata
*
*
* - Last Modified Date
* - 2019-08-17
* - Interactions and External Dependencies
*
* - Promoted to Vulkan 1.2 Core
*
* - Contributors
*
* - Tobias Hector, Imagination Technologies
* - Jon Leech, Khronos
*
*
*/
public final class KHRSamplerMirrorClampToEdge {
/** The extension specification version. */
public static final int VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION = 3;
/** The extension name. */
public static final String VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME = "VK_KHR_sampler_mirror_clamp_to_edge";
/**
* Extends {@code VkSamplerAddressMode}.
*
* Enum values:
*
*
* - {@link #VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE}
* - {@link #VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR}
*
*/
public static final int
VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = 4;
private KHRSamplerMirrorClampToEdge() {}
}