Поделиться через


Функция gluPickMatrix

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

Синтаксис

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

Параметры

x

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

y

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

height

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

width

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

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

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

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

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

Комментарии

Функция 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