| // Copyright (c) 2016-2020 Imagination Technologies Limited |
| // |
| // SPDX-License-Identifier: CC-BY-4.0 |
| |
| include::{generated}/meta/{refprefix}VK_IMG_filter_cubic.txt[] |
| |
| === Other Extension Metadata |
| |
| *Last Modified Date*:: |
| 2016-02-23 |
| *Contributors*:: |
| - Tobias Hector, Imagination Technologies |
| |
| === Description |
| |
| `VK_IMG_filter_cubic` adds an additional, high quality cubic filtering mode |
| to Vulkan, using a Catmull-Rom bicubic filter. |
| Performing this kind of filtering can be done in a shader by using 16 |
| samples and a number of instructions, but this can be inefficient. |
| The cubic filter mode exposes an optimized high quality texture sampling |
| using fixed texture sampling functionality. |
| |
| include::{generated}/interfaces/VK_IMG_filter_cubic.txt[] |
| |
| === Example |
| |
| Creating a sampler with the new filter for both magnification and |
| minification |
| |
| [source,c++] |
| ---------------------------------------- |
| VkSamplerCreateInfo createInfo = |
| { |
| VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO // sType |
| // Other members set to application-desired values |
| }; |
| |
| createInfo.magFilter = VK_FILTER_CUBIC_IMG; |
| createInfo.minFilter = VK_FILTER_CUBIC_IMG; |
| |
| VkSampler sampler; |
| VkResult result = vkCreateSampler( |
| device, |
| &createInfo, |
| &sampler); |
| ---------------------------------------- |
| |
| === Version History |
| |
| * Revision 1, 2016-02-23 (Tobias Hector) |
| - Initial version |
| |