Name
glu.PickMatrix -- define a picking region
Synopsis
glu.PickMatrix(x, y, deltax, deltay, viewportArray)
Function
glu.PickMatrix() 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 glu.PickMatrix() to restrict drawing to a small region around the cursor. Then, enter selection mode (with gl.RenderMode()) 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 glu.PickMatrix() is multiplied by the current matrix just as if gl.MultMatrix() is called with the generated matrix. To effectively use the generated pick matrix for picking, first call gl.LoadIdentity() to load an identity matrix onto the perspective matrix stack. Then call glu.PickMatrix(), and finally, call a command (such as glu.Perspective()) to multiply the perspective matrix by the pick matrix.

When using glu.PickMatrix() 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.

The four window coordinates for viewportArray can easily be obtained by calling gl.Get() with #GL_VIEWPORT. See gl.Get for details.

Please consult an OpenGL reference manual for more information.

Inputs
x
specify the x center of a picking region in window coordinates
y
specify the y center of a picking region in window coordinates
deltax
specify the width of the picking region in window coordinates
deltay
specify the height of the picking region in window coordinates
viewportArray
the four window coordinates of the viewport in a table

Show TOC