2013-06-10 3 views
0

С помощью этой инструкции gluLookAt:Перемещение камеры gluLookAt

gluLookAt(p1, p2, p3, l1, l2, l3, u1, u2, u3); 

Как я могу переместить камеру на одну единицу влево, сохраняя направление, глядя на той же точке?

Видимо, я не могу просто сделать p1-1, потому что он перемещается 1 в глобальном пространстве, но мне нужно переместить камеру в пространстве камеры, просто с информацией инструкции выше.

Найденный в поиске, что я мог бы нашел правильный вектор и сделать это:

right = u * dir (normalized) 

p = p - right 
l = l - right 

Но я не могу понять, почему и даже если это работает ...

+0

Это может помочь: http://stackoverflow.com/questions/13832505/world-space-to-camera-space – JBL

ответ

0

Вы декрементируете p1 и l1.

р определяет положение точки глаз и л положения опорной точки.

0

Если вы изменяете положение камеры, вы должны сделать то же самое с кодами цели.

0

Независимо от того, что ваш вопрос совпадает с тем, который вращается вокруг оси y по часовой стрелке для одного блока влево?

+0

Обычно неразумно делать ответ, который на самом деле является вопросом. То, что было сказано здесь, также применимо: оставлять комментарии более уместны для этого. –

Смежные вопросы