Мой инструктор говорит, что они могут использоваться взаимозаменяемо для воздействия на матрицу проекции. Он утверждает, что gluLookAt()
предпочтительно использовать из-за его «относительной простоты из-за его способности определять угол обзора». Это правда? Я видел примеры кода с использованием gluLookAt()
и glFrustum()
, и мне интересно, зачем программисту их смешивать.
Как и в cube.c, пример Redbook появляется:
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glLoadIdentity();
gluLookAt(0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
**//why isn't this a call to glFrustum?**
glScalef(1.0, 2.0, 1.0);
glutWireCube(1.0);
glFlush();
}
void reshape(int w, int h)
{
glViewport(0, 0, (GLsizei) w, (GLsizei) h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum(-1.0, 1.0, -1.0, 1.0, 1.5, 20.0);
//why isn't this a call a call to gluLookAt()?
glMatrixMode(GL_MODELVIEW);
}