Последняя функция, использованная в листинге2.1, - это glutMainLoopO. Когда выполняется эта инструкция, программа рисует начальную картину и входит в бесконечный цикл, находясь в котором

Начальная стадия: рисование фигур

она просто ждет наступления событий. (Нормальное завершение работы любой программы осуществляется щелчком мыши по прямоугольнику «выход» (go away), который имеется в каждом окне.)

2.1.3. Открытие окна для рисования Первая задача при создании изображений заключается в открытии экранного окна для рисования. Эта работа является достаточно сложной и зависит от системы. Поскольку функции OpenGL являются ап-паратно-независимыми, то в них не предусмотрено поддержки управления окнами определенных систем. Однако в OpenGL Utility Toolkit включены функции для открытия окна в любой используемой вами системе.

Листинг 2.2. Программный код, использующий OpenGL Utility Toolkit для открытия начального окна для рисования // appropriate #inc1udes до here - see Appendix 1 // здесь должны стоять соответствующие операторы // включения #inc1udes - см.приложение А

void maintint argc. char** argv) {

g1utlnit(&argc. argv); // initialize the toolkit // инициализируем инструментарий

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB): // set the display mode // устанавливаем режим дисплея

glutlnitWindowS i ze(640.480): // set window size // устанавливаем размер окна

glutlnitWi ndowPositiondOO.150): // set the window position on screen // устанавливаем положение окна на экране

glutCreateWindowC'my first attempt"): //"my first attempt"="M0fl первая попытка" // open the screen window // открываем экранное окно

// register the callback functions

// регистрируем функции обратного вызова

glutDisplayFuncCmyDisplay):
glutReshapeFunc(myReshape):
gl utMouseFunc(myMouse):
glutKeyboardFunc(myKeyboard):
mylnitU:
// additional initializations as necessary

// дополнительные инициализации при необходимости

glutMainLoopO: // go into perpetual loop // входим в бесконечный цикл


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