【发布时间】:2020-12-21 21:57:54
【问题描述】:
我使用“clamp to border”对图像之外的纹理(其格式为 vk::Format::eR8G8B8A8Unorm)进行采样,并将边框颜色设置为不透明的白色。但是我得到的渲染边框颜色总是黑色,我找不到原因。
以下是相关的采样器设置:
vk::SamplerCreateInfo samplerInfo = {};
samplerInfo.addressModeU = vk::SamplerAddressMode::eClampToBorder;
samplerInfo.addressModeV = vk::SamplerAddressMode::eClampToBorder;
samplerInfo.addressModeW = vk::SamplerAddressMode::eClampToBorder;
samplerInfo.borderColor = vk::BorderColor::eIntOpaqueWhite;
-
我检查了其他类型的寻址模式:vk::SamplerAddressMode::eRepeat、vk::SamplerAddressMode::eMirroredRepeat 和 vk::SamplerAddressMode::eClampToEdge,它们都可以正常工作。
-
我用 vk::BorderColor::eFloatOpaqueWhite 替换了 vk::BorderColor::eIntOpaqueWhite,然后我得到了白色 - 但这很奇怪,因为如果纹理格式是 vk::Format::eR8G8B8A8Unorm 我希望所需的标志是整数形式 - vk::BorderColor::eIntOpaqueWhite 如下所述:https://vulkan-tutorial.com/Texture_mapping/Image_view_and_sampler?
谢谢
【问题讨论】: