Отображение металла и системы координат - PullRequest
0 голосов
/ 05 октября 2019

У меня есть система координат, в которой верхний левый угол 1002 * равен (0,0), а нижний правый 1004 * равен (375 647)

enter image description here

В этой системе у меня есть координаты вершин, как показано ниже:

var Vertices = [
  Vertex(x: 0,   y: 0,   z: 0, r: 1, g: 0, b: 0, a: 1),
  Vertex(x: 375, y: 0,   z: 0, r: 1, g: 0, b: 0, a: 1),
  Vertex(x: 375, y: 647, z: 0, r: 1, g: 0, b: 0, a: 1),
  Vertex(x: 0,   y: 647, z: 0, r: 1, g: 0, b: 0, a: 1),
 ]

, поэтому вершины рисуют прямоугольник, который заполняет всю мою систему координат. Размер экрана (750,1294). Моя система координат представляет этот экран.

с координатами устройства, преобразованными из металла, используйте левую систему координат и сопоставьте с позициями в области просмотра. Примитивы обрезаются на поле в этой системе координат, а затем растеризуются. Левый нижний угол отсечения имеет координаты (x, y) (-1,0, -1,0), а правый верхний угол - (1,0,1,0).

enter image description here

Как нарисовать мои вершины металлом? Я пытаюсь сделать

[RenderCommand setViewport: (MTLViewport){ 0.0, 0.0, 750, 1294, 0.0, 1.0 }];

, но это шов не работает, так что, может быть, я что-то пропустил?

...