Я использую XNA с SpriteBatch и параллельно настраиваемые нарисованные вершины. Цель состоит в том, чтобы иметь одинаковую систему координат для обоих методов.
Это означает, что мне нужна матрица проекции, которая отображается в координатах экрана: (0, 0) находится в верхнем левом углу экрана, а ширина и высота определяются разрешением экрана.
Matrix.CreateOrthographicOffCenter(0, width, 0, height, -1, 1);
Работает хорошо, но имеет центр в нижнем левом углу.
Matrix.CreateOrthographicOffCenter(0, width, height, 0, -1, 1);
вообще ничего не отображает.
Попытка объединить первую проекционную матрицу с переводом и масштабированием y на -1 также ничего не отображает. Масштабирование по положительным значениям работает хорошо, перевод тоже. Но как только я масштабируюсь на отрицательное значение, я не получаю никакого вывода вообще.
Есть идеи?
PS: Для целей тестирования я рисую вершины далеко за пределами экранных координат, поэтому, по крайней мере, что-то вижу, если в переводе есть какая-то ошибка.