Vulkan中的VK_FORMAT_R16_UINT纹理格式

时间:2017-03-07 06:50:01

标签: textures vulkan

Vulkan没有像OpenGL那样的像素传输功能。但VK_FORMAT_R16_UINT格式如何运作?可以用它从像素着色器中采样无符号短值吗?当我使用它时,我只从采样器中获得零。我正在使用线性过滤。

如果我使用格式VK_FORMAT_R16_UNORM而不是VK_FORMAT_R16_UINT,我会得到0-1之间的值,所以我猜Vulkan会在这种情况下为我的值正常化吗?

1 个答案:

答案 0 :(得分:3)

规范不保证支持格式为VK_FORMAT_R16_UINT的线性过滤。

vkGetPhysicalDeviceFormatProperties上使用线性过滤之前,您需要先使用VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT检查支持情况(检查# Below is a recursive function that inserts an element # at the bottom of a stack. def insertAtBottom(stack, item): if isEmpty(stack): push(stack, item) else: temp = pop(stack) insertAtBottom(stack, item) push(stack, temp) # Below is the function that reverses the given stack # using insertAtBottom() def reverse(stack): if not isEmpty(stack): temp = pop(stack) reverse(stack) insertAtBottom(stack, temp) )。

令人惊讶的是,验证层未报告滥用情况。值得提交增强请求以添加该检查。