我正在将一个纹理传递给一个片段着色器,我想将该像素值中的纹理颜色与蓝色Alpha 0.2混合,我该怎么做?
fragment float4 bezier_fragment(VertexOutBezier params[[stage_in]],
texture2d<float> texture [[texture(0)]]
顶点外贝塞尔
struct VertexOutBezier {
float4 pos[[position]];
float4 color;
};
目前我正在这样做,但我在示例中的该着色器函数中遇到错误。”在float canvasColor初始化行中没有用于调用“sample”的匹配成员函数
fragment float4 bezier_fragment(VertexOutBezier params[[stage_in]],
texture2d<float> texture [[texture(0)]]
)
{
constexpr sampler defaultSampler;
float4 canvasColor = texture.sample(defaultSampler, params.pos);
float4 finalColor = mix(canvasColor, params.color, 0.2);
return finalColor;
}