Я пытаюсь сделать несколько квадов, расположенных в плоскости (z = 0), с помощью ортогональной проекции. Я настроил матрицу проекции после прочтения формулы для матрицы ортогональной проекции? , но я думаю, что сделал что-то не так.
Моей первой попыткой была следующая матрица. W и H - ширина и высота моего желаемого окна просмотра, которое составляет 640x640 в следующих примерах:
˹ 2/w 0 0 0 ˺
| 0 2/h 0 0 |
| 0 0 0 0 |
˻ 0 0 0 1 ˼
Вот что я получил, когда рендерил четырехугольник, угол поворота которого был в (0,0,0):
![No good](https://i.imgur.com/EDC51.png)
Поскольку он был перевернут по вертикали, я изменил свою матрицу на:
˹ 2/w 0 0 0 ˺
| 0 -2/h 0 0 |
| 0 0 0 0 |
˻ 0 0 0 1 ˼
Я получил:
![better](https://i.imgur.com/94YjW.png)
Затем я попытался переместить мой квадроцикл, и результаты оказались неожиданными. Я хотел, чтобы X и Y трехмерного пространства соответствовали окнам просмотра. Однако вот что произошло, когда я переместил квад по оси X:
![ouch](https://i.imgur.com/i3gj3.png)
Движение по оси Y дало столь же неожиданные результаты:
![ouch ouch](https://i.imgur.com/bjK9V.png)
Как я могу исправить свою матрицу так, чтобы оси X и Y трехмерного пространства совпадали с осями видового экрана? Большое спасибо заранее.