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

org.lwjgl.vulkan.KHRSamplerMirrorClampToEdge 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;

/**
 * {@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
*
*
Contact
*
*
* *
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() {} }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy