我使用“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 ?
谢谢