gluPickMatrix 函数
gluPickMatrix 函数定义选取区域。
语法
void WINAPI gluPickMatrix(
GLdouble x,
GLdouble y,
GLdouble height,
GLdouble width,
GLint viewport[4]
);
参数
-
x
-
选取区域的 x 窗口坐标。
-
y
-
选取区域的 y 窗口坐标。
-
height
-
以窗口坐标表示的选取区域的高度。
-
width
-
以窗口坐标表示的选取区域的宽度。
-
视窗
-
当前视区从 glGetIntegerv 调用) (。
返回值
此函数不返回值。
注解
gluPickMatrix 函数创建一个投影矩阵,可用于将绘图限制为视区的小区域。
使用 gluPickMatrix 将绘图限制为光标周围的小区域。
使用 glRenderMode) 进入选择模式 (,然后重新呈现场景。
将在光标附近绘制的所有基元都会被标识并存储在选择缓冲区中。
由 gluPickMatrix 创建的矩阵乘以当前矩阵,就像使用生成的矩阵调用 glMultMatrix 一样。
- 调用 glLoadIdentity 以将标识矩阵加载到透视矩阵堆栈上。
- 调用 gluPickMatrix。
- 调用函数 ((如 gluPerspective) )将透视矩阵乘以选取矩阵。
使用 gluPickMatrix 选取 NURBS) (非统一理性 B 样条时,请小心关闭 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 [仅限桌面应用] |
标头 |
|
库 |
|
DLL |
|