В OpenGL можно создавать несколько полей просмотра (раздел 6.3). Параметры текущего активного поля просмотра можно узнать, используя такую функцию запроса.
glGetlntegerv (GL_VIEWPORT, vpArray); Здесь vpArray - четырехэлементный массив с одним индексом. Данная функция Get возвращает параметры текущего поля просмотра в vpArray в порядке xvmin, yvmin, vpWidth и vpHeight. В интерактивных приложениях, например, данную функцию можно использовать для получения параметров поля просмотра, которое содержит курсор экрана.
СОЗДАНИЕ ОКНА НА ЭКРАНЕ ДИСПЛЕЯ GLUT
В разделе 2.9 кратко представлялись некоторые функции библиотеки GLUT. Поскольку эта библиотека сопрягается с любой системой управления окнами, процедуры GLUT используются для создания окон на экране дисплея и работы с ними, кроме того, приводимые примеры программ будут независимы от конкретной машины. Чтобы получить доступ к этим процедурам, вначале нужно инициализировать GLUT с помощью следующей функции.
glutlnit (Sarge, argv); Параметры этой функции инициализации те же, что и у процедуры main, и glutlnit можно использовать для обработки аргументов командной строки.
В GLUT есть три функции для определения окна на экране дисплея и выбора его размерности и положения:
glutlnitWindowPosition (xTopLeft, yTopLeft);
glutlnitWindowSize (dwWidth, dwHeight);
glutCreateWindow ("Title of Display Window"); Первая из этих функций дает целое число - положение в экранных координатах левого верхнего угла окна на экране дисплея относительно левого нижнего угла экрана. Если какая-то из координат отрицательна, точка окна на экране дисплея определяется системой управления окнами. С помощью второй функции выбирается ширина и высота окна на экране дисплея в пикселях (положительное целое число). Если данные функции задания размера и положения не используются, по умолчанию размер равен 300 на 300, а положение - (-1, -1), и окно на экране дисплея размещает система управления окнами. В любом случае размер и положение окна на экране, заданное с помощью процедур GLUT, можно проигнорировать в зависимости от состояния или других требований, активных в данное время в системе управления окнами. Следовательно, система окон может выбирать место и устанавливать размер окна по-разному. Третья из приведенных функций создает окно на экране дисплея с заданным размером и положением и присваивает название, хотя использование заголовка также зависит от системы окон. В момент обработки данной команды окно определяется, но не выводится на экран, пока не будут завершены все операции настройки GLUT.
УСТАНОВКА РЕЖИМА И ЦВЕТА ОКНА (GLUT)
С помощью приведенной ниже функции GLUT выбираются различные параметры окна на экране дисплея.
glutlnitDisplayMode (mode); Данная функция используется для выбора цветового режима (RGB или индексация) и различных комбинаций буферов. Выбранные параметры объединяются логической операцией ИЛИ. Режим по умолчанию - простая буферизация (один буфер) и цветовой режим RGB (или RGBA), и этот режим можно задать следующим объявлением: