Назначение матрицы проекции вида модели


для каких целей мы используем матрицу проекции вида модели? Почему шейдеры требуют матрицу проекции вида модели?

2 88

2 ответа:

матрица модели, вида и проекции - это три отдельные матрицы. Модель отображает из локального координатного пространства объекта в мировое пространство, вид из мирового пространства в пространство камеры, проекцию с камеры на экран.

Если вы составите все три, вы можете использовать один результат для отображения всего пути от пространства объектов до пространства экрана, что позволит вам решить, что вам нужно передать на следующий этап программируемого конвейера из входящих позиций вершин.

In фиксированные функциональные трубопроводы старых, вы бы применить модель и вид вместе, а затем разработать освещение, используя другой результат, полученный из них (с некоторыми исправлениями, так что, например, нормали по-прежнему единичная длина, даже если вы применили некоторое масштабирование к объекту), а затем применить проекцию. Вы можете видеть, что это отражено в OpenGL, который никогда не разделяет матрицы модели и представления - сохраняя их как единый стек матриц modelview. Поэтому вы также иногда видите, что отражается в шейдерах.

Так: составленная матрица проекции вида модели часто используется шейдерами для отображения вершин, загруженных для каждой модели на экран. Это не обязательно, есть много способов достижения того же самого, это просто обычно, потому что это позволяет все возможные линейные преобразования. Из-за этого меньшая составленная версия этого также была нормой в старом фиксированном трубопроводном мире.

потому что матрицы являются удобным. Матрицы помогают преобразовать положения / направления относительно различных пространств (пространство может быть определено 3 перпендикулярными осями и началом координат).

вот пример из книги, указанной @legends2k в комментариях.

жители Картезии используют карту своего города с происхождением центрирован довольно разумно в центре города и оси направлены вдоль кардинальные точки компаса. Жители Дислексия использовать а карту своего города с координатами с центром в произвольной точке и оси, идущие в некоторых произвольных направлениях, которые, вероятно, казались хорошая идея в то время. Жители обоих городов вполне довольны с их соответствующими картами, но государственный транспортный инженер назначена задача запуска бюджета для первой магистрали между Картезия и дислексия нужна карта, показывающая детали обоих городов, что, следовательно, вводит третью систему координат это отличный для него, хотя и не обязательно для кого-то еще.

вот еще один пример,

предположим, что вы создали объект автомобиля в игре с его вершинными позициями, используя координаты мира. Предположим, вам нужно использовать этот же автомобиль в какой-то другой игре в совершенно другом мире, вам нужно снова определить позиции, и вычисления будут сложными. Это потому, что вы снова должны рассчитать позиции окна, капота, фары, колеса и т. д. в машине по отношению к новому миру.

посмотреть этой видео чтобы понять концепции, модели, вида и проекции. (настоятельно рекомендуется)

затем посмотреть этой чтобы понять, как вершины в мире представлены в виде матриц и как они преображаются.