首页 > 解决方案 > 具有 sRGB 和非 sRGA 纹理的 MTKView

问题描述

我正在尝试使用复合多个纹理的金属视图,但是我遇到了一些纹理具有不同颜色范围的问题。

这些纹理来自不同的来源——各种不同的格式。

我有一些纹理,.bgra8Unorm而其他纹理.bgra8Unorm_srgb。这导致某些视频非常黑暗和破碎。有没有合适的方法来处理这个?

根据文档:

从 sRGB 纹理采样时,会自动完成从 sRGB 空间到线性空间的转换。在应用纹理采样时指定的采样器中指定的过滤器之前执行从 sRGB 到线性 RGB 的转换。如果纹理具有 Alpha 通道,则 Alpha 数据存储在线性颜色空间中。写入 sRGB 纹理时,会自动完成从线性空间到 sRGB 空间的转换。如果纹理具有 Alpha 通道,则 Alpha 数据存储在线性颜色空间中。

那么片段着色器的传入纹理不应该在采样器中已经正确吗?

标签: metalcolor-spacemetalkit

解决方案


推荐阅读