Ответ на вопрос
Добрый вечер!Вектор up в функции gluLookAt действительно указывает вверх, независимо от направления камеры. Это сделано для удобства программиста, чтобы не нужно было каждый раз корректировать вектор up при изменении направления камеры. Действительно, матрица преобразования, которую мы строим в конце с помощью векторов направления камеры, up и векторного умножения, обеспечивает правильное положение камеры относительно сцены.Что касается матрицы, которую вы предоставили, это матрица 4х4, которая описывает не только поворот камеры, но и ее положение. Это не просто матрица поворота относительно отдельных осей X, Y, Z.В этой матрице s, u и -f - это новые векторы, которые мы получили в результате векторного умножения. Помимо этих векторов, матрица также содержит последний столбец и строку, которые описывают положение камеры в пространстве.Интересно, что вы глубоко разбираетесь в математике и графике OpenGL! Надеюсь, что моя подсказка помогла вам разобраться в реализации gluLookAt функции. Если у вас есть еще вопросы, не стесняйтесь задавать. Удачи в вашем проекте!
Еще