我有两种不同的纹理。一个是有色的,另一个是我要遮盖两个图像纹理的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
}
在这里采样纹理时,我对蒙版和源图像使用相同的坐标。