На главную

On-line справка по OpenGL

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-L-M-N-O-P-R-S-T-U-V-W | Скачать Вниз

gluPickMatrix



The gluPickMatrix function defines a picking region.

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

Parameters

x, y

Specify the center of a picking region in window coordinates.

width, height

Specify the width and height, respectively, of the picking region in window coordinates.

viewport

Specifies the current viewport (as from a glGetIntegerv call).

Remarks

The gluPickMatrix function creates a projection matrix that can be used to restrict drawing to a small region of the viewport. This is typically useful to determine what objects are being drawn near the cursor. Use gluPickMatrix to restrict drawing to a small region around the cursor. Then, enter selection mode (with glRenderMode and rerender the scene. All primitives that would have been drawn near the cursor are identified and stored in the selection buffer.

The matrix created by gluPickMatrix is multiplied by the current matrix just as if glMultMatrix is called with the generated matrix. To effectively use the generated pick matrix for picking, first call glLoadIdentity to load an identity matrix onto the perspective matrix stack. Then call gluPickMatrix, and finally, call a command (such as gluPerspective) to multiply the perspective matrix by the pick matrix.
When using gluPickMatrix to pick NURBS, be careful to turn off the NURBS property GLU_AUTO_LOAD_MATRIX. If GLU_AUTO_LOAD_MATRIX is not turned off, then any NURBS surface rendered is subdivided differently with the pick matrix than the way it was subdivided without the pick matrix.

Example

When rendering a scene as follows:

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


a portion of the viewport can be selected as a pick region like this:

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


See Also

glGet, glLoadIdentity, glMultMatrix, glRenderMode, gluPerspective




Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

gluPickMatrix



Функция gluPickMatrix определяет выбирающий регион.

пустота gluPickMatrix(GLdouble x, GLdouble y, ширина GLdouble, высота GLdouble, БЛЕСК viewport[4]
);

Параметры

x, y

Определите центр выбирающего региона в координатах окна.

ширина, высота

Определите ширину и высоту, соответственно, выбирающего региона в координатах окна.

viewport

Определяет текущий viewport (начиная с вызова glGetIntegerv).

Замечания

Функция gluPickMatrix создает матрицу прогноза, которая может быть использована, чтобы ограничивать чертеж в небольшой регион viewport. Это обычно полезное, чтобы определять, что какие объекты сделаны около курсора. Используйте gluPickMatrix, чтобы ограничивать чертеж в небольшой регион вокруг курсора. Затем, способ выбора ввода (с glRenderMode и rerender сцена. Все примитивы, которые были сделаны около курсора называться и сохраненное в буфере выбора.

Матрица созданная gluPickMatrix умножена на текущую матрицу подобно тому, как если glMultMatrix назван сгенерированной матрицей. Для того, чтобы эффективно использовать сгенерированную матрицу указки для выбора, сначала назовите glLoadIdentity, чтобы загружать матрицу тождества в перспективную матричную кипу. Затем назовите gluPickMatrix, и наконец, называть команду (как например, gluPerspective), чтобы умножать перспективную матрицу матрицей указки.
При использовании gluPickMatrix, чтобы выбирать NURBS, будут осторожными, чтобы выключать собственность NURBS GLU_AUTO_LOAD_MATRIX. Если GLU_AUTO_LOAD_MATRIX не выключен, тогда любая поверхность NURBS предоставившая подразделяется иначе с матрицей указки чем путь было подразделено без матрицы указки.

Пример

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

glMatrixMode(GL_PROJECTION);
glLoadIdentity( );
gluPerspective . .).);
glMatrixMode(GL_MODELVIEW);
/* Сделайте сценой */


часть viewport может быть выбрана как регион указки подобно этому:

glMatrixMode(GL_PROJECTION);
glLoadIdentity( );
gluPickMatrix(x, y, ШИРИНА, высота, viewport);
gluPerspective . .).);
glMatrixMode(GL_MODELVIEW);
/* Сделайте сценой */


Смотри Также

glGet, glLoadIdentity, glMultMatrix, glRenderMode, gluPerspective




Вверх Version 1.1, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод Win32 API  Русский перевод OpenGL
 
Hosted by uCoz