О СЬ_ТК1АКСЬЕ_РАК: (веер из треугольников) рисует последовательность соединенных между собой треугольников, опирающихся на тройки вершин: 1>0, ь{, v2, затем ьй, у2, а3, затем #0, уу v^ и т. д.

4 Ф. Хилл

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

О GL_QUAD_STRIP: (полоса из четырехугольников) рисует последовательность четырехугольников, опирающихся на четверки вершин: вначале vv v{, v3, v2, затем v2, v3, v5, vt, затем vt, v9 vv v6 и т. д. (порядок следования такой, что все четырехугольники «кладутся поперек» в одном направлении, например против часовой стрелки).

2.4. Простое взаимодействие с помощью мыши и клавиатуры

Интерактивные графические приложения дают пользователю возможность управлять ходом программы с помощью естественных для человека движений: манипулированием и щелчками мышью, нажатием на различные клавиши клавиатуры. Положение мыши во время щелчка или нажатие конкретной клавиши фиксируются программой приложения и обрабатываются нужным образом.

Напомним, что когда пользователь нажимает или отпускает кнопку мыши, перемещает мышь или нажимает на клавишу клавиатуры, происходит некоторое событие. С помощью инструментария OpenGL Utility Toolkit (GLUT) программист может связать с каждым из этих событий функцию обратного вызова. Это делается посредством следующих команд: О glutMouseFunc(myMouse) - связывает myMouseO с событием, возникающим при нажатии или отпускании кнопки мыши; О glutMotionFunc(myMovedMouse) - связывает myMovedMouseO с событием, возникающим при перемещении мыши, когда одна из ее кнопок нажата; О glutKeyboardFunc(myKeyboard) - связывает KeyBoardO с событием, возникающим при нажатии любой клавиши клавиатуры. Вскоре мы увидим, как использовать каждую из этих функций.

2.4.1. Взаимодействие с помощью мыши Как информация, относящаяся к мыши, передается в приложение? Вы должны предусмотреть четыре параметра у функции обратного вызова myMouseO, так чтобы она имела следующий прототип:

void myMouse(int button, int State, int x, int y);

Когда происходит событие «мышь», система вызывает связанную с ним функцию и присваивает параметрам определенные значения. Параметр button должен принять одно из следующих значений:


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