我用交换链查询的BGRA图像编写了一个简单的Vulkan演示。如果我向其输出RGBA像素,则会交换最终结果中的R通道和G通道。
但是当我在Vulkan SDK目录中检查演示时,我发现它也使用BGRA图像视图进行颜色输出(我在代码和RenderDoc中进行了检查),但最终结果是正确的!
那么,转换何时发生?我错过了什么吗?
vulkan演示输出
Vulkan演示具有BGRA格式输出
我的成绩不佳
编辑:
很抱歉缺少代码。第一个答案给了我一个提示,以发现通过 FreeImage 从磁盘加载图像的真正问题。加载的图像以 BGRA 格式存储,并且在Windows上具有默认设置:
感谢您的帮助和建议@opa和@solidpixel。
答案 0 :(得分:1)
您设置的纹理读取错误,或者设置的交换链写入错误。如果我不得不猜测您将数据上传到错误的纹理格式,但是没有完整的示例,这很难说。