Преобразовать матрицу аффинного преобразования 2D в матрицу аффинного преобразования 3D

У меня есть ошибка где-то в моем коде, мне было интересно, неверно ли это.

У меня есть матрица 2D-представления в моем коде, но для отображения моего мира на экране мне нужно преобразовать 2D матрицу просмотра в 3D. Это процесс, который я использую:

| a b c |      | a b c 0 |
| d e f |  =>  | d e f 0 |
| g h i |      | g h i 0 |
               | 0 0 0 1 |

Это работает, когда я использую единичную матрицу для 2D-матрицы, но как только я применяю какие-либо преобразования к 2D-матрице, все мои нарисованные объекты исчезают.

Для рисования в 2D с использованием 3D я использую эту матрицу проекции :

_basicEffect.Projection = Matrix.CreateOrthographicOffCenter(0, graphicsDevice.Viewport.Width, graphicsDevice.Viewport.Height, 0, 0, 1);

Как правильно преобразовать 2D-матрицу в 3D?

7
задан Soap 1 April 2011 в 01:55
поделиться