У меня есть вопрос о реализации arcball в opengl с помощью Android Studio.
После вычисления оси вращения я должен перевернуть ось через конвейер рендеринга обратно в пространство объекта, чтобы вращение можно было применить в пространстве объекта.
Эта часть будет написана так:
obj_rotateAxis = normalize(vec3(inverse(mat3(camera->projMatrix) * mat3(camera->viewMatrix) * mat3(teapot->worldMatrix)) * rotateAxis));
Однако я слышал, что правильная форма должна быть такой:
obj_rotateAxis = normalize(vec3(inverse(mat3(camera->viewMatrix) * mat3(teapot->worldMatrix)) * rotateAxis));
где projMatrix отбрасывается. Почему мы не учитываем матрицу проекции при реализации дугового шара, хотя преобразование проекции выполняется для объекта?