📄 pickmatrix.html
字号:
<HTML><BODY><PRE> <STRONG>NAME</STRONG> <STRONG>gluPickMatrix</STRONG> - define a picking region <STRONG>C</STRONG> <STRONG>SPECIFICATION</STRONG> void <STRONG>gluPickMatrix</STRONG>( GLdouble <EM>x</EM>, GLdouble <EM>y</EM>, GLdouble <EM>delX</EM>, GLdouble <EM>delY</EM>, GLint *<EM>viewport</EM> ) <STRONG>PARAMETERS</STRONG> <EM>x</EM>, <EM>y</EM> Specify the center of a picking region in window coordinates. <EM>delX</EM>, <EM>delY</EM> Specify the width and height, respectively, of the picking region in window coordinates. <EM>viewport</EM> Specifies the current viewport (as from a <STRONG>glGetIntegerv</STRONG> call). <STRONG>DESCRIPTION</STRONG> <STRONG>gluPickMatrix</STRONG> 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 <STRONG>gluPickMatrix</STRONG> to restrict drawing to a small region around the cursor. Then, enter selection mode (with <STRONG>glRenderMode</STRONG>) 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 <STRONG>gluPickMatrix</STRONG> is multiplied by the current matrix just as if <STRONG>glMultMatrix</STRONG> is called with the generated matrix. To effectively use the generated pick matrix for picking, first call <STRONG>glLoadIdentity</STRONG> to load an identity matrix onto the perspective matrix stack. Then call <STRONG>gluPickMatrix</STRONG>, and finally, call a command (such as <STRONG>gluPerspective</STRONG>) to multiply the perspective matrix by the pick matrix. When using <STRONG>gluPickMatrix</STRONG> to pick NURBS, be careful to turn off the NURBS property <STRONG>GLU_AUTO_LOAD_MATRIX</STRONG>. If <STRONG>GLU_AUTO_LOAD_MATRIX</STRONG> 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. <STRONG>EXAMPLE</STRONG> 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 */ <STRONG>SEE</STRONG> <STRONG>ALSO</STRONG> <STRONG>glGet</STRONG>, <STRONG>glLoadIndentity</STRONG>, <STRONG>glMultMatrix</STRONG>, <STRONG>glRenderMode</STRONG>, <STRONG>gluPerspective</STRONG></PRE></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -