Sketchup на помощь!
Ваше изображение имеет «вверх», который может быть отделен от мира вверх.Синее окно на этом изображении можно рассматривать как «ближнюю плоскость», на которой нарисованы ваши изображения: ваш монитор, если хотите.Если все, что вы предоставляете, это точка зрения и точка, то это окно может свободно вращаться.Вам нужно дать дополнительное направление «вверх», чтобы закрепить его.OpenGL нормализует вектор, который вы предоставляете, если это не единица длины.OpenGL также будет проецировать его вниз так, чтобы он образовывал угол 90 градусов с вектором 'z', определяемым eye и при (если вы не зададите вектор 'up', который находится в точно в том же направлении, что и линия от «глаза» к «в»).После определения направлений «in» ( z ) и «вверх» ( y ) можно легко рассчитать направление «вправо» или ( x ) изэти два.
На этом рисунке «поставленный» вектор повышения равен (0,1,0), если синяя ось находится в направлении y.Если вы дадите (1,1,1), оно, скорее всего, повернет изображение на 45 градусов, потому что это говорит о том, что верх синего окна должен быть направлен в этом направлении.Следовательно, изображение парня, казалось бы, наклонено (в противоположном направлении).