Vulkan 输出 RGBA 颜色到 BGRA 颜色附件

Vulkan output RGBA color to BGRA color attachment

我写了一个简单的 Vulkan 演示,其中包含从交换链查询的 BGRA 图像。如果我向它输出RGBA像素,最终结果中的R通道和G通道被交换了。

但是当我查看Vulkan SDK目录中的演示时,我发现它也使用BGRA图像视图进行颜色输出(我在代码和RenderDoc中查看了这个),但最终结果是正确的!

那么,转换是什么时候发生的?我错过了什么吗?

vulkan 演示输出

Vulkan demo有BGRA格式输出

我的成绩很差

编辑:

抱歉缺少代码。第一个答案给了我一个提示,让我找到 FreeImage 从磁盘加载图像的真正问题。它加载的图像存储为 BGRA 格式,默认设置为 windows:

感谢@opa 和@solidpixel 的帮助和建议。

您设置的纹理读取不正确,或者您设置的交换链写入不正确。如果我不得不猜测您正在将数据上传到错误的纹理格式,但没有完整的示例很难判断。