Как объявить gluPerspective в OpenGL? - PullRequest
0 голосов
/ 14 декабря 2009

Как я могу на самом деле объявить gluPerspective ?

Я имею в виду, я рисую спираль, и я устанавливаю z = -50 в начале и зацикливаюсь, пока круг не завершится. Так что же будет декларация gluPerspective?

Ответы [ 3 ]

2 голосов
/ 14 декабря 2009

Где-то вверху исходного файла, который вы хотите использовать gluPerspective в:

#include <GL/glu.h>

и тогда вы можете использовать gluPerspective без проблем.

0 голосов
/ 14 декабря 2009

Я настоятельно рекомендую вам взглянуть на официальную Красную книгу OpenGL, глава 3, Просмотр . Там вы найдете хорошее введение в перспективное проектирование.


Редактировать после комментария:

Хорошо, если вы внимательно прочитаете главу, вы прочитаете это:

Вы можете создать трансформацию просмотра любым из нескольких способов, как описано далее. Вы также можете выбрать расположение по умолчанию и ориентацию точки обзора, которая равна в начале координат , при взгляде вниз по отрицательной оси z .

и

void gluPerspective (GLdouble fovy, GLdouble аспект, GLdouble рядом, GLdouble далеко);
Создает матрицу для симметричного вида в перспективе и умножает на нее текущую матрицу. fovy - угол поля зрения в плоскости x-z; его значение должно находиться в диапазоне [0.0,180.0]. аспект является аспектным отношением усеченного конуса, его ширина делится на его высоту. ближние и дальние значения расстояния между точкой обзора и плоскостями отсечения, вдоль отрицательной оси z . Они всегда должны быть позитивными.

0 голосов
/ 14 декабря 2009

Я не совсем уверен, что вы имеете в виду. gluPerspective() обычно используется один раз при запуске программы, затем всякий раз, когда размер окна изменяется, чтобы определить способ проецирования примитивов на экран.

Вы делаете это так:

glMatrixMode(GL_PROJECTION);                        // Select The Projection Matrix
    glLoadIdentity();                                   // Reset The Projection Matrix
    gluPerspective(60,screenWidth/screenHeight,0.1,1000);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...