【问题标题】:yuv10 bits texture in Metal金属中的 yuv10 位纹理
【发布时间】:2018-04-25 14:53:18
【问题描述】:

我正在尝试将我的 openGL 着色器转换为金属着色器,以便将 yuv10 位纹理转换为 rgba 纹理。

对于 openGL,我使用的是这个 GLSL 代码 from this link

我进行了转换,但结果不是我预期的。

我想是因为我用了

 tex2d.sample(sampler2d, x, y).rgba;

而不是

texelFetch(tex, ivec2(sourceColumnIndexY, texcoordDenorm.y)

Metal 中是否有与 texelFetch 等价的东西?

【问题讨论】:

    标签: metal gpu core-video


    【解决方案1】:

    您并没有真正解释“结果不是我所期望的”。你也没有解释你使用什么金属像素格式来输入纹理。

    反正texelFetch()对应的Metal函数就是纹理类型的read()成员函数。例如,texture2d<T> 有这两个成员函数:

    Tv read(uint2 coord, uint lod = 0) const
    Tv read(ushort2 coord, ushort lod = 0) const
    

    其中Tv 是四分量向量,其分量类型为T

    【讨论】:

    • 非常感谢。这正是我一直在寻找的。现在它可以工作了。
    猜你喜欢
    • 2017-06-14
    • 1970-01-01
    • 1970-01-01
    • 2018-07-30
    • 2020-11-30
    • 2017-05-20
    • 2018-09-29
    • 2019-05-18
    • 1970-01-01
    相关资源
    最近更新 更多