Если я хочу получить орфографический вид региона (-10, -1), (- 2, -1), (- 2, -7), (- 10, -7), как мне определить вид и проекционные матрицы? (Я устанавливаю мировую матрицу на идентичность). Я попробовал это, но это не сработало:
worldMatrix = Matrix.Identity;
projectionMatrix = Matrix.CreateOrthographicOffCenter(-10,-2,-7,-1,-1.0f,100.0f);
viewMatrix = Matrix.CreateTranslation(1, -1, 0) * Matrix.CreateScale(400,-300,1);
Я принимал этот порядок преобразования: (это правильно?)
screenPoint = worldPoint*worldMatrix*projectionMatrix*viewMatrix
Моя мотивация для этого заключается в том, что projectionMatrix преобразует мировой блок в координаты нормализованного устройства: (- - 10, -1) -> (- 1,1), (-2, -1) -> (1,1) , (-2, -7) -> (1, -1), (-10, -7) -> (- 1, -1) и затем я перемещаю этот квадрат единицы в четвертый квадрант и масштабируем его до размера экрана (800x600) и измените направление y. Но я делаю что-то неправильно, потому что ничего не вижу.