2013-03-08 2 views
0

Мне кажется, что я понимаю использование матрицы вида модели и gluLookAt. То есть, объявив gluLookAt(ex,ey,ez,lx,ly,lz,ux,uy,uz), можно легко настроить способ взглянуть на определенную точку напрямую.gluLookAt и MODELVIEW MATRIX

Мой вопрос - начиная с gluLookAt после умножения на текущую матрицу, если вы загружаете личность до вызова gluLookAt, а текущий шаблон матрицы - это модель, что произойдет, если вы нарисуете куб?

Так что-то вроде этого:

glMatrixMode(GL_PERSPECTIVE); 
glLoadIdentity(); 
glFrustum(-5, 5, -5, 5, 15, 150); 
glMatrixMode(GL_MODELVIEW); 
glLoadIdentity(); 
gluLookAt(0, 0, 16, 0, 0, 0, 0, 1, 0); 
glutSolidCube(1.0); 

Где куб оказывается в мировых координатах? По какой-то причине в этом случае он отображается в мировом происхождении, и вы можете видеть его в окне просмотра, но почему? Должно ли gluLookAt изменить матрицу вида просмотра с помощью поворота и перевода? Должен ли куб быть сделан главным образом с камерой внутри?

ответ

2

glutSolidCube (1.0) рисует куб с боковой длиной 1.0, который центрирован в мировом происхождении.

поэтому вершины:

  • (-0,5, -0,5, -0,5)
  • (-0.5, +0.5, -0.5)
  • (-0,5, +0,5, +0,5)
  • (-0,5, -0,5, +0,5)
  • (+0,5, -0,5, -0,5)
  • (+0,5, +0,5, -0,5)
  • (+0,5, +0,5, +0,5)
  • (+0,5, -0,5, +0,5)

Теперь gluLookAt (0, 0, 16, 0, 0, 0, 0, 1, 0) генерирует матрицу modeView, который преобразует эти координаты в камеру координаты.

Поскольку положение камеры только что переведено (0,0,16) по позиции камеры по умолчанию (0,0,0), эта модельная матрица в основном переводит каждую вершину на (0,0, -16).

Очистить?

+0

Можно ли интерпретировать это как глобальную систему координат, gluLookAt переводит мировое происхождение относительно камеры? – geogaddi

+0

в вашем случае да. Но в целом это может быть поворот + перевод. поэтому gluLookAt создает ModelViewMatrix, которая преобразует (вращает + переводит) из координат модели (которая в основном является мировыми координатами, т. е. источником (0,0,0) для просмотра координат (0,0, -1)) для просмотра координат (система координат как видно из камеры/глаза, т.е. источника в положении кулачка, направление просмотра камеры) – Dirk

+0

Отлично! Трудные вещи, но я думаю, что я понял это сейчас. – geogaddi

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

  • Нет связанных вопросов^_^