Пусть следующие матрицы будут в левше системы координат (столбцы)Матрица просмотра проекций, opengl. IOS
Я использую GLKMatrix4x4 структуры и функции Apple, поэтому математические операции можно считать правильными.
Я ожидаю, что следующее приведет к правильной матрице.
projectionViewModel = camera.projection * camera.view * model.view
Однако это неверно, так как модель начинает вращаться относительно смещения перевода камеры.
Но когда я делаю следующее, результат правильный.
projectionViewModel = camera.projection * camera.inverseView * model.view
Мой вопрос в том, что я испортил что-то еще где? Или это правильный способ получения матрицы projectionViewModel?
GLKMatrix4 modelView = GLKMatrix4Multiply(*[_scene.camera inverseView],*[_frame worldMatrix]);
GLKMatrix4 projectionViewModel = GLKMatrix4Multiply(*[_scene.camera proj],modelView);
Закончилось двойное предположение – Nico