Основы библиотеки OpenGL
Использование библиотеки glut
Для облегчения работы с OpenGL, и в частности работы с окнами и вводом, удобно использовать библиотеку glut. Эта кросс-платформенная библиотека позволяет легко создавать переносимые приложения, использующие OpenGL.
Библиотека glut (OpenGL Utility Toolkit) является прозрачным интерфейсом для написания переносимых программ, использующих OpenGL, и взаимодействующих с оконной системой. Она позволяет легко писать переносимые программы на ряде языков, включая С и С++. Существуют версии glut для X Window, Windows и Mac OS X. Для написания простейшей программы с помощью glut нужно знание всего нескольких простых функций, требующих небольшого числа параметров.
Здесь мы рассмотрим лишь некоторое подмножество glut, которое позволит создать окно для вывода изображений средствами OpenGL и обрабатывать ввод информации от пользователя. По аналогии с OpenGL каждая функция этой библиотеки начинается с префикса glut.
Первым шагом при работе с glut является инициализация, для чего служат функции, имена которых начинаются с префикса glutlnit. Эти функции должны вызываться до вызова каких-либо других функций glut или OpenGL.
Начальная инициализация glut осуществляется при помощи вызова функции
void glutlnit ( int * argcp, char ** argv );
где argcp - указатель на неизмененную переменную arge из функции main. По возвращении из функции список аргументов может быть изменен, так как библиотека обрабатывает переданные ей в командной строке параметры и удаляет их из списка. Величина argv является параметром argv функции main.
Для задания начального положения окна и его размеров служат функции
void glutlnitWindowPos ( int х, int у ) ;
void glutlnitWIndowSize ( int width, int height );
Здесь величины х, у, width и height задаются в пикселах. Видеорежим задается при помощи функции
void glutlnitDisplayMode ( unsigned mode );
где параметр mode, задающий параметры режима, является логическим объединением следующих флагов (табл. 4.2).