遮罩金属中的两个纹理

时间:2018-11-19 12:33:06

标签: ios swift metal

我有两种不同的纹理。一个是有色的,另一个是我要遮盖两个图像纹理的Alpha图像。我如何用Metal Shader语言做到这一点。一种纹理尺寸为128 * 128,另一种尺寸为256 * 256。我希望蒙版纹理的尺寸为128 * 128。

fragment float4 fragmentShaderone(VertexOut params[[stage_in]],
                                                              texture2d<float, access::sample>srcTexture [[texture(0)]],
                                                              texture2d<float, access::sample> maskTexture [[texture(1)]])
{

    constexpr sampler defaultSampler;

    float  srcColor = float4(texture.sample(defaultSampler, float2(params.textureCoordinates)))  * float4(1,0,0,40.0/255.0);

    float4 maskColor = float4(texture4.sample(defaultSampler, float2(params.textureCoordinates))) ;

    return srcColor * maskColor

}

在这里采样纹理时,我对蒙版和源图像使用相同的坐标。

0 个答案:

没有答案