glRasterPos4dv 函数
指定像素运算的光栅位置。
语法
void WINAPI glRasterPos4dv(
const GLdouble *v
);
参数
-
v
-
指向四个元素的数组的指针,指定当前光栅位置的 x、y、z 和 w 坐标。
返回值
此函数不返回值。
注解
OpenGL 在窗口坐标中维护三维位置。 此位置称为光栅位置,以亚像素精度进行维护。 它用于定位像素和位图写入操作。 请参阅 glBitmap、 glDrawPixels 和 glCopyPixels。
当前光栅位置由三个窗口坐标组成, (x、y、z) 、剪辑坐标 w 值、眼坐标距离、有效位以及关联的颜色数据和纹理坐标。 w 坐标是剪辑坐标,因为 w 未投影到窗口坐标。 glRasterPos4 函数显式指定对象坐标 x、y、z 和 w。 glRasterPos3 函数显式指定对象坐标 x、y 和 z ,而 w 则隐式设置为 1。 glRasterPos2 函数使用 x 和 y 的参数值,同时隐式将 z 和 w 设置为零和 1。
glRasterPos 提供的对象坐标的处理方式与 glVertex 命令的坐标相同。 它们由当前模型视图和投影矩阵进行转换,并传递到剪辑阶段。 如果未剔除顶点,则会将其投影并缩放为窗口坐标,这将成为新的当前光栅位置,并设置GL_CURRENT_RASTER_POSITION_VALID标志。 如果顶点被剔除,则清除有效位,并且当前光栅位置以及关联的颜色和纹理坐标未定义。
当前光栅位置还包括一些关联的颜色数据和纹理坐标。 如果启用照明,则 RGBA 模式下的GL_CURRENT_RASTER_COLOR或颜色索引模式下的GL_CURRENT_RASTER_INDEX设置为照明计算生成的颜色, (请参阅 glLight、 glLightModel 和 glShadeModel) 。 如果禁用照明、RGBA 模式下的当前颜色 (、状态变量GL_CURRENT_COLOR) 或颜色索引 (,则状态变量GL_CURRENT_INDEX) 用于更新当前光栅颜色。
同样,GL_CURRENT_RASTER_TEXTURE_COORDS更新为GL_CURRENT_TEXTURE_COORDS的函数,基于纹理矩阵和纹理生成函数 (glTexGen) 。 最后,从眼睛坐标系原点到顶点的距离(仅由模型视图矩阵转换)替换GL_CURRENT_RASTER_DISTANCE。
最初,当前光栅位置 (0,0,0,1) ,当前光栅距离为 0,设置有效位,关联的 RGBA 颜色 (1,1,1,1) ,关联的颜色索引为 1,关联的纹理坐标 (0,0,0,1) 。 在 RGBA 模式下,GL_CURRENT_RASTER_INDEX始终为 1;在颜色索引模式下,当前光栅 RGBA 颜色始终保持其初始值。
注意
光栅位置由 glRasterPos 和 glBitmap 修改。
注意
当光栅位置坐标无效时,将忽略基于光栅位置的绘图命令, (也就是说,它们不会导致 OpenGL 状态) 更改。
以下函数检索 与 glRasterPos 相关的信息:
带参数GL_CURRENT_RASTER_POSITION的 glGet
带参数GL_CURRENT_RASTER_POSITION_VALID的 glGet
带参数GL_CURRENT_RASTER_DISTANCE的 glGet
带参数GL_CURRENT_RASTER_COLOR的 glGet
带参数GL_CURRENT_RASTER_INDEX的 glGet
带参数GL_CURRENT_RASTER_TEXTURE_COORDS的 glGet
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |
标头 |
|
库 |
|
DLL |
|