VK_KHR_sampler_mirror_clamp_to_edge
VK_KHR_sampler_mirror_clamp_to_edge extends the set of sampler address modes
to include an additional mode
(VK_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 “mirror image”. This mode allows the texture to be mirrored only once in the negative s, t, and r directions.
Extending VkSamplerAddressMode
:
VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE
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);