Metal 同时具有sRGB和非sRGA纹理的MTKView
我试图用一个金属视图来合成多个纹理,但是我遇到了一个问题,一些纹理有不同的颜色范围 这些纹理来自不同的来源——不同的格式 我有一些纹理是Metal 同时具有sRGB和非sRGA纹理的MTKView,metal,color-space,metalkit,Metal,Color Space,Metalkit,我试图用一个金属视图来合成多个纹理,但是我遇到了一个问题,一些纹理有不同的颜色范围 这些纹理来自不同的来源——不同的格式 我有一些纹理是.bgra8Unorm,而其他纹理是.bgra8Unorm\u srgb。这导致一些视频非常黑暗和破碎。有没有合适的方法来处理这个问题 根据文件: 从sRGB空间到线性空间的转换在以下情况下自动完成: 从sRGB纹理采样。从sRGB到线性RGB的转换 在指定的采样器中指定的过滤器之前执行 将应用纹理采样。如果纹理具有alpha通道, alpha数据存储在线性颜色
.bgra8Unorm
,而其他纹理是.bgra8Unorm\u srgb
。这导致一些视频非常黑暗和破碎。有没有合适的方法来处理这个问题
根据文件:
从sRGB空间到线性空间的转换在以下情况下自动完成:
从sRGB纹理采样。从sRGB到线性RGB的转换
在指定的采样器中指定的过滤器之前执行
将应用纹理采样。如果纹理具有alpha通道,
alpha数据存储在线性颜色空间中。线性变换
写入到sRGB纹理时,将自动执行到sRGB空间的操作。
如果纹理具有alpha通道,则alpha数据存储在
线性颜色空间
那么,片段着色器的传入纹理在采样器中不应该已经是正确的吗