Корень «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
играть бесплатно в игровые автоматы.
Собрав вместе предшествующие компоненты, можно увидеть, как вычертить форму графика функции 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 // устанавливаем порт просмотра