Яблоки Metal hello 2D пример треугольника выглядит не так, как я надеялся.
Я ожидал, что 1 на x и 1 на y будут ровно 1 пикселем, и чтобыначать с левого верхнего угла.
Я бы подумал, что 2D подразумевает плоскую форму, и без понятия глубины, естественно, следует иметь 1 единицу для отображения на 1 пиксель, как я могу исправить пример так, чтобы он работал таким образомЯ ожидал этого?Общие понятия о грубой, нет необходимости создавать код, если вы действительно не любите единорогов, в таком случае, пожалуйста;так что я могу передать миру свой блеск.
https://developer.apple.com/documentation/metal/hello_triangle
static const AAPLVertex triangleVertices[] =
{
// 2D positions, RGBA colors
{ { 0, 0 }, { 1, 0, 0, 1 } },
{ { 0, 4 }, { 0, 1, 0, 1 } },
{ { 4, 0 }, { 0, 0, 1, 1 } },
{ { 4, 4 }, { 0, 1, 0, 1 } },
};
Эти координаты в виде линейной полосы создают 4 на 5 px N !
Обновление
Мне не удалось решить / понять, почему рисуется полоса размером 4 на 5 пикселей.Я считаю, что алгоритм линейной полосы неверен.
Треугольная полоса с ожидаемым результатом против То же самое, но линейная полоса с неожиданными результатами
Рассмотрим эту линейную полосуУгол 3 вершин:
static const AAPLVertex triangleVertices[] =
{
// 2D positions, RGBA colors
{ { 0, 4 }, { 1, 0, 0, 1 } },
{ { 0, 0 }, { 0, 1, 0, 1 } },
{ { 4, 0 }, { 0, 0, 1, 1 } },
};
угол в виде линейной полосы