Маскировка двух текстур в металле - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть две разные текстуры.Один - цветной, а другой - просто альфа-изображение. Я хочу замаскировать обе текстуры изображения.Как я могу сделать это в Metal Shader Language.одна текстура размером 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

}

Здесь При выборке текстуры я использую одинаковые координаты для маски и исходного изображения.

...