Перед тем как окно приложения будет открыто на экране, должен состояться сеанс связи между подсистемой окон и OpenGL. В составе библиотеки GLUT эта операция возлагается на функцию glutlnit( ):

void glutlnit(int *argcp, char **argv);

Функция имеет два аргумента, через которые можно передать аргументы командной строки, как в стандартной С-функции main( ). После выполнения glutlnit( ) можно открыть окно OpenGL-программы, вызвав функцию glutCreateWindow( ):

int glutCreateWindow(char *title);

Аргумент title этой функции - надпись, которая будет выведена в строке заголовка окна.

При создании окна устанавливаются его параметры, назначенные графической системой по умолчанию, - размер, положение на экране и режим RGB управления цветом. Для настройки иных значений параметров нужно перед вызовом glutCreateWindow( ) обратиться к соответствующим функциям их установки. Например, в следующем фрагменте программы устанавливается размер окна 480x640 пикселей, а само окно размещается в левом верхнем углу экрана".

glutInitDisplayMode(GLUT_RGB | GLUT_DEPTH | GLUTJDOUBLE) ; glutInitWindowSize(480, 640); glutInitWindowPosition(0,0);

Обратите внимание на то, что константы задания отдельных режимов объединяются в аргументе функции glutInitDisplayMode( ) операцией побитового ИЛИ. Константа GLUT_RGB задает RGB-режим. Если предполагается использовать режим индексированных цветов, то вместо константы GLUT_RGB следует передать GLUT_INDEX. Вторая константа GLUT_DEPTH задает использование буфера глубины при выполнении удаления невидимых поверхностей. Третья константа GLUT_D0UBLE задает двойную буферизацию (одиночная буферизация задается константой GLUT_SINGLE).

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


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