Как я могу преобразовать проекционную матрицу OpenGL в проекционную матрицу Unity? - PullRequest
0 голосов
/ 29 сентября 2018

Я занимаюсь исследованиями, связанными с искаженной проекцией.Чтобы поэкспериментировать с единицей, мне нужно преобразовать проекционные матрицы OpenGL в проекционную матрицу Unity.

Интересно, Unity использует левостороннюю координату, но OpenGL использует правостороннюю координату.И вершины представлены в виде вектора строки, а не вектора столбца.

Как преобразовать матрицу?

1 Ответ

0 голосов
/ 29 сентября 2018

Чтобы перейти от векторной семантики столбца к строке, транспонируйте матрицу.Чтобы преобразовать правую руку в левую (или наоборот), отразите одну из осей (не имеет значения, какая из них, но обычно выбирается Z).И последнее, но не менее важное: вы, вероятно, должны быстро менять оси, имея 1 или -1 в нужных местах матрицы.Например, чтобы отразить Z и переставить X → Y, Y → Z, Z → X, вы можете использовать

0  0 -1
1  0  0
0  1  0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...