Функция gluPickMatrix

Функция gluPickMatrix определяет область выбора.

Синтаксис

void WINAPI gluPickMatrix(
   GLdouble x,
   GLdouble y,
   GLdouble height,
   GLdouble width,
   GLint    viewport[4]
);

Параметры

x

Координата окна x области выбора.

y

Координата окна Y области выбора.

height

Высота области выбора в координатах окна.

width

Ширина области выбора в координатах окна.

Видового экрана

Текущий окно просмотра (как из вызова glGetIntegerv ).

Возвращаемое значение

Эта функция не возвращает значение.

Remarks

Функция gluPickMatrix создает матрицу проекции, используемую для ограничения рисования небольшой областью окна просмотра.

  1. Используйте gluPickMatrix , чтобы ограничить рисование небольшим регионом вокруг курсора.

  2. Введите режим выбора (с glRenderMode), а затем перерисовка сцены.

    Все примитивы, которые были бы нарисованы рядом с курсором, и хранятся в буфере выделения.

Матрица, созданная gluPickMatrix , умножается на текущую матрицу так же, как если бы метод glMultMatrix был вызван сгенерированной матрицей.

  1. Вызов glLoadIdentity для загрузки матрицы удостоверений в стек матрицы перспективы.
  2. Вызов gluPickMatrix.
  3. Вызовите функцию (например , gluPerspective), чтобы умножить матрицу перспективы на матрицу выбора.

При использовании gluPickMatrix для выбора неоднородного рационального B-сплайна (NURBS) будьте осторожны, чтобы отключить свойство NURBS, GLU_AUTO_LOAD_MATRIX. Если GLU_AUTO_LOAD_MATRIX не отключается, то отрисовка поверхности NURBS делится по-разному с матрицей выбора от того, как она была разделена без матрицы выбора.

Примеры

При отрисовке сцены следующим образом:

glMatrixMode(GL_PROJECTION);  
glLoadIdentity( );  
gluPerspective(. . .);  
glMatrixMode(GL_MODELVIEW);  
/* Draw the scene */

Следующий код выбирает часть окна просмотра:

glMatrixMode(GL_PROJECTION);  
glLoadIdentity( );  
gluPickMatrix(x, y, width, height, viewport);  
gluPerspective(. . .);  
glMatrixMode(GL_MODELVIEW);  
/* Draw the scene */

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Glu.h
Библиотека
Glu32.lib
DLL
Glu32.dll

См. также раздел

glGetIntegerv

glLoadIdentity

glMultMatrix

glRenderMode

gluPerspective