Vulkan-Docs/appendices/VK_KHR_sampler_mirror_clamp...

56 lines
1.8 KiB
Plaintext

// Copyright (c) 2014-2019 Khronos Group. This work is licensed under a
// Creative Commons Attribution 4.0 International License; see
// http://creativecommons.org/licenses/by/4.0/
include::meta/VK_KHR_sampler_mirror_clamp_to_edge.txt[]
*Last Modified Date*::
2016-02-16
*Contributors*::
- Tobias Hector, Imagination Technologies
`VK_KHR_sampler_mirror_clamp_to_edge` extends the set of sampler address
modes to include an additional mode
(ename: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.
=== New Enum Constants
* Extending elink:VkSamplerAddressMode:
** ename:VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE
=== Example
Creating a sampler with the new address mode in each dimension
[source,c++]
----------------------------------------
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);
----------------------------------------
=== Version History
* Revision 1, 2016-02-16 (Tobias Hector)
- Initial draft