Я более подробно изучал реализации матриц и нашел в обратном вычислении матрицы OpenSceneGraph комментарий:
We note that this matrix can be split into three matrices.
mat = rot * trans * corr, where rot is rotation part, trans is translation part, and corr is the correction due to perspective (if any).
Тот факт, что матрица вида модели разбита на поворот матрицы и кажется, что переводРазумно, но корректирующая матрица вызывает у меня любопытство по поводу ...
Матрица corr - это сброс матрицы вида модели к идентификатору, за исключением четвертой строки (с использованием записи OpenGL).Например:
corr = [ 1 0 0 0
0 1 0 0
0 0 1 0
x y z s ]
Обычно вектор c=[x y z s]
равен {0 0 0 1}
, в действительности он не участвует в преобразованиях вершин.Но, поскольку они задействованы, как используется вектор коррекции?
Каковы конкретные применения вектора коррекции c
?Как влияет на преобразованные вершины с такой матрицей (с коррекцией перспективы)?