点基元中的纹理

时间:2019-11-22 10:54:02

标签: ios swift metal metalkit

我正在使用点方法绘制正方形。

commandEncoder.drawPrimitives(type: .point, vertexStart: 0, vertexCount:1 ) 

通过这个,我正在传递屏幕尺寸(可绘制尺寸)的纹理。我可以在着色器中进行如下绘制。

fragment half4 fragment_chalk(VertexOutChalk params[[stage_in]],
                               texture2d<half>texture4 [[texture(0)]],
                              float2 texcoord [[ point_coord ]]
                              )
{

    constexpr sampler defaultSampler;
    half4 alphaSample = texture4.sample(defaultSampler,texcoord) *half4(0.8666667, 0.101960786, 0.35686275,0.7);
    return alphaSample;

} 

但是我需要不要绘制完整纹理。我想绘制对应于特定正方形的部分。对于纹理采样,我需要传递与屏幕相关的坐标。我想更改采样的坐标。我该怎么办

0 个答案:

没有答案