glBitmap 函数

glBitmap 函数绘制位图。

语法

void WINAPI glBitmap(
         GLSizei width,
         GLSizei height,
         GLfloat xorig,
         GLfloat yorig,
         GLfloat xmove,
         GLfloat ymove,
   const GLubyte *bitmap
);

parameters

width

位图图像的像素宽度。

height

位图图像的像素高度。

xorig

位图图像中原点的 x 位置。 原点从位图的左下角测量,右方向和向上方向为正轴。

yorig

位图图像中原点的 y 位置。 原点从位图的左下角测量,右方向和向上方向为正轴。

xmove

绘制位图后要添加到当前光栅位置的 x 偏移量。

ymove

绘制位图后要添加到当前光栅位置的 y 偏移量。

位图

位图图像的地址。

返回值

此函数不返回值。

错误代码

glGetError 函数可以检索以下错误代码。

名称 含义
GL_INVALID_VALUE
widthheight 为负值。
GL_INVALID_OPERATION
在对 glBegin 的调用和对 glEnd 的相应调用之间调用了函数。

备注

位图是二进制图像。 绘制时,位图相对于当前光栅位置进行定位,使用当前光栅颜色或索引写入位图中对应于 1 的帧缓冲区像素。 不修改与位图中零对应的帧缓冲区像素。

位图图像解释为 glDrawPixels 函数的图像数据, 其宽度高度 对应于该函数的宽度和高度参数, 类型 设置为 GL_BITMAP, 格式 设置为 GL_COLOR_INDEX。 使用 glPixelStore 指定的模式会影响位图图像数据的解释;使用 glPixelTransfer 指定的模式不会。

如果当前光栅位置无效,则忽略 glBitmap 。 否则,位图图像的左下角位于以下窗口坐标处:

xw = xrx

yw = yry

在这些坐标中, (xryr ) 是光栅位置, (x?、 y?) 是位图原点。 然后,为位图图像中对应于 1 的每个像素生成片段。 这些片段是使用当前光栅 z 坐标、颜色或颜色索引以及当前光栅纹理坐标生成的。 然后,它们将被视为由点、线或多边形生成,包括纹理映射、雾化以及所有每个片段的操作,例如 alpha 和深度测试。

绘制位图后,当前光栅位置的 xy 坐标将偏移 xmoveymove。 不会对当前光栅位置的 z 坐标或当前光栅颜色、索引或纹理坐标进行更改。

以下函数检索与 glBitmap 函数相关的信息:

带参数GL_CURRENT_RASTER_POSITION的 glGet

带参数GL_CURRENT_RASTER_COLOR的 glGet

带参数GL_CURRENT_RASTER_INDEX的 glGet

带参数GL_CURRENT_RASTER_TEXTURE_COORDS的 glGet

带参数GL_CURRENT_RASTER_POSITION_VALID的 glGet

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Gl.h

Opengl32.lib
DLL
Opengl32.dll

请参阅

glBegin

glDrawPixels

glEnd

glPixelStore

glPixelTransfer

glRasterPos