metal - 具有 sRGB 和非 sRGA 纹理的 MTKView
问题描述
我正在尝试使用复合多个纹理的金属视图,但是我遇到了一些纹理具有不同颜色范围的问题。
这些纹理来自不同的来源——各种不同的格式。
我有一些纹理,.bgra8Unorm
而其他纹理.bgra8Unorm_srgb
。这导致某些视频非常黑暗和破碎。有没有合适的方法来处理这个?
根据文档:
从 sRGB 纹理采样时,会自动完成从 sRGB 空间到线性空间的转换。在应用纹理采样时指定的采样器中指定的过滤器之前执行从 sRGB 到线性 RGB 的转换。如果纹理具有 Alpha 通道,则 Alpha 数据存储在线性颜色空间中。写入 sRGB 纹理时,会自动完成从线性空间到 sRGB 空间的转换。如果纹理具有 Alpha 通道,则 Alpha 数据存储在线性颜色空间中。
那么片段着色器的传入纹理不应该在采样器中已经正确吗?
解决方案
推荐阅读
- python - 我无法理解为什么我必须重新启动服务器才能看到 Put 请求所做的更改(django rest 框架)
- regex - 如何正确匹配具有完全相同序列的任何单词的开头和结尾,同时中间有字符?
- python - igraph中两个顶点之间的距离
- python - GeocoderAuthenticationFailure:不成功状态码 401
- python - ModuleNotFoundError:没有使用 python 编程语言命名为“librosa”的模块
- jquery - jQuery 日期范围选择器禁用特定日期
- playwright - HTMX 和剧作家:按钮按下没有任何作用
- webrtc - TURN Stats(发送/接收和pacekts/bytes)是否只是客户端和服务器之间的测量值?
- awk - 只返回与 grep 完全匹配
- vba - 使用没有 FollowHyperlink 的 vba 打开链接