Листинг 2.2 конкретизирует структуру листинга 2.1, показывая целиком функцию mainO на примере программы, рисующей графики в экранном окне. Первые пять вызовов функции используют OpenGL Utility Toolkit для открытия окна для рисования. В своих первых графических программах вы можете просто скопировать отсюда эти функции; позднее мы увидим, какой смысл имеют различные
2.2. Рисование основных графических примитивов аргументы и как заменить некоторые из них для достижения определенных эффектов. Первые пять функции инициализируют и отображают экранное окно, в котором наша программа будет работать с графикой. Дадим короткое описание того, что делает каждая из этих функций: О glutlnitC&argc.argv). Эта функция инициализирует OpenGL Utility Toolkit. Ее аргументы для передачи информации о командной строке являются стандартными; здесь мы не будем их использовать.
О glutInitDisplayMode(GLUT_SINGLE|GHJT_RGB). Эта функция определяет, как должен быть инициализирован дисплей. Встроенные в нее константы GLUT_SINGLE и GLUT_RGB с оператором OR (или) между ними показывают, что следует выделить один дисплейный буфер и что цвета задаются с помощью сочетании красного, зеленого и синего цветов. Позднее мы будем изменять эти аргументы. Например, для плавной анимации мы будем использовать двойную буферизацию.
О glutIm'tWindowSize(640,480). Эта функция устанавливает, что экранное окно при инициализации должно иметь 640 пикселов в ширину и 480 пикселов в высоту. Во время выполнения программы пользователь может изменять размер этого окна по своему желанию.
О glutInitWindowPosition(100,150). Эта функция устанавливает, что верхний левый угол данного окна должен находиться в 100 пикселах от левого края и в 150 пикселах от верхнего края. Во время выполнения программы пользователь может перемещать это окно, куда пожелает.
О glutCreateWindowC'my first attempt"). Эта функщы фактически открывает и отображает экранное окно, помещая текст заголовка «ту first attcmpt» (моя первая попытка) в строку заголовка (title bar) окна.