Я использую металл для обработки изображений с камеры, и у меня возникает эта проблема.
Я передаю четыре вершины для вершинного шейдера, затем умножаю 0,5 на вектор положения каждой вершины.
typedef struct {
float2 position [[attribute(0)]];
float2 texCoord [[attribute(1)]];
} ImageVertex;
typedef struct {
float4 position [[position]];
float2 texCoord;
} ImageColorInOut;
vertex ImageColorInOut vertexShader(ImageVertex in [[stage_in]]) {
ImageColorInOut out;
out.position = float4(in.position * 0.5, 0.0, 1.0);
out.texCoord = in.texCoord;
return out;
}
Я ожидаю, что этот результат: должен быть
Но на самом деле я получил этот результат: результат ошибки
Результат ошибки имеет грязное поле, иэто не входит в объем вершин.
Где я ошибаюсь?