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.
Creating a sampler with the new filter for both magnification and minification
VkSamplerCreateInfo createInfo =
{
.sType = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO,
// 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);
VK_IMG_filter_cubic| Modifier and Type | Field and Description |
|---|---|
| public static final int | VK_FILTER_CUBIC_IMG
Extends |
| public static final int | VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG
Extends |
| public static final String | VK_IMG_FILTER_CUBIC_EXTENSION_NAME
The extension name. |
| public static final int | VK_IMG_FILTER_CUBIC_SPEC_VERSION
The extension specification version. |
| Access | Constructor and Description |
|---|---|
| private |
| VK_FILTER_CUBIC_IMG | back to summary |
|---|---|
| public static final int VK_FILTER_CUBIC_IMG Extends | |
| VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG | back to summary |
|---|---|
| public static final int VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG Extends | |
| VK_IMG_FILTER_CUBIC_EXTENSION_NAME | back to summary |
|---|---|
| public static final String VK_IMG_FILTER_CUBIC_EXTENSION_NAME The extension name. | |
| VK_IMG_FILTER_CUBIC_SPEC_VERSION | back to summary |
|---|---|
| public static final int VK_IMG_FILTER_CUBIC_SPEC_VERSION The extension specification version. | |
| IMGFilterCubic | back to summary |
|---|---|
| private IMGFilterCubic() | |