glu.PickMatrix(x, y, deltax, deltay, viewportArray)
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.
glu.PickMatrix() to pick NURBS, be careful to turn off the NURBS property
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()
#GL_VIEWPORT. See gl.Get for details.
Please consult an OpenGL reference manual for more information.