我正在使用点方法绘制正方形。
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;
}
但是我需要不要绘制完整纹理。我想绘制对应于特定正方形的部分。对于纹理采样,我需要传递与屏幕相关的坐标。我想更改采样的坐标。我该怎么办