Корень «ortho» появляется потому, что настройка окна таким способом фактически устанавливает так называемую ортогональную проекцию (orthographic projection) для трехмерного случая, как мы увидим в главе 7.

Дополнительные инструменты для рисования

Стоит вернуться назад и посмотреть, что мы использовали для окна и порта просмотра в наших ранних программах на OpenGL в главе 2. В листинге 2.5 и на рис. 2.8 в программах использовались такие команды:

1. Команды, устанавливающие размер экранного окна 640 на 480. В main ():

g1utIn1tWindowSize(640, 480) // set screen window size // устанавливаем размер окна Величина порта просмотра принималась по умолчанию, поскольку еще не было команды gl Viewport О; а по умолчанию порт просмотра - это экранное окно целиком.

2. Набор команд в mylnitO:

g1MatrixMode(GL_PR0JECTI0N): glLoadldentityO:
glu0rtho2D(0.0, 640.0. 0.0. 480.0):

Эти команды устанавливают мировое окно в выровненный прямоугольник с углами (0,0) и (640,0, 480,0), как раз в соответствии с размером порта просмотра, так что основное преобразование окно - порт просмотра ничего не изменило. Такой выбор представляется разумным для первых программ.

Пример 3.2.2. Снова построение графика функции sine

Проверенный ресурс скачать R7 Сasino - официальный сайт - пользуется популярностью!.

Собрав вместе предшествующие компоненты, можно увидеть, как вычертить форму графика функции sinc() с рис. 3.1. При использовании OpenGL достаточно задать окно и порт просмотра. В листинге 3.2 приведен код, отображающий график этой функции для значений х с малым шагом в промежутке от -4 до 4 в порт просмотра шириной 640 и высотой 480. (Окно сделано несколько шире, чем диапазон графика, для того чтобы оставить вокруг графика некоторое пространство для красоты.)

Листинг 3.2. Построение графика функции sine

void myDisplay(void)
// plot the sine function, using world coordinates

// строим график функции sine, используя мировые координаты

{

setWindow(-5.0, 5.0. -0.3. 1.0): // set the window // устанавливаем окно

setViewporttO. 640. 0. 480): // set the viewport // устанавливаем порт просмотра


⇐ Предыдущая| |Следующая ⇒