Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Metal 同时具有sRGB和非sRGA纹理的MTKView_Metal_Color Space_Metalkit - Fatal编程技术网

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数据存储在 线性颜色空间

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