glBitmap.3gl




Name

  glBitmap - draw a bitmap


C Specification

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


Parameters


  width, height	Specify	the pixel width	and height of the bitmap image.


  xorig, yorig	Specify	the location of	the origin in the bitmap image.	 The
		origin is measured from	the lower left corner of the bitmap,
		with right and up being	the positive axes.


  xmove, ymove	Specify	the x and y offsets to be added	to the current raster
		position after the bitmap is drawn.


  bitmap	Specifies the address of the bitmap image.


Description

  A bitmap is a	binary image.  When drawn, the bitmap is positioned relative
  to the current raster	position, and frame buffer pixels corresponding	to
  ones in the bitmap are written using the current raster color	or index.
  Frame	buffer pixels corresponding to zeros in	the bitmap are not modified.

  glBitmap takes seven arguments.  The first pair specify the width and
  height of the	bitmap image.  The second pair specify the location of the
  bitmap origin	relative to the	lower left corner of the bitmap	image.	The
  third	pair of	arguments specify x and	y offsets to be	added to the current
  raster position after	the bitmap has been drawn.  The	final argument is a
  pointer to the bitmap	image itself.

  The bitmap image is interpreted like image data for the glDrawPixels
  command, with	width and height corresponding to the width and	height
  arguments of that command, and with type set to GL_BITMAP and	format set to
  GL_COLOR_INDEX.  Modes specified using glPixelStore affect the
  interpretation of bitmap image data; modes specified using glPixelTransfer
  do not.

  If the current raster	position is invalid, glBitmap is ignored.  Otherwise,
  the lower left corner	of the bitmap image is positioned at the window
  coordinates

			       x  = floor (x - x )
				w           r   o

			       y  = floor (y - y )
				w           r   o

  where	(x ,y )	is the raster position and (x ,y ) is the bitmap origin.
          r  r                               o  o

  Fragments are then generated for each pixel corresponding to a one in	the
  bitmap image.	 These fragments are generated using the current raster	z
  coordinate, color or color index, and	current	raster texture coordinates.
  They are then	treated	just as	if they	had been generated by a	point, line,
  or polygon, including	texture	mapping, fogging, and all per-fragment
  operations such as alpha and depth testing.

  After	the bitmap has been drawn, the x and y coordinates of the current
  raster position are offset by	xmove and ymove.  No change is made to the z
  coordinate of	the current raster position, or	to the current raster color,
  index, or texture coordinates.

Errors

  GL_INVALID_VALUE is generated	if width or height is negative.

  GL_INVALID_OPERATION is generated if glBitmap	is executed between the
  execution of glBegin and the corresponding execution of glEnd.

Associated Gets

  glGet	with argument GL_CURRENT_RASTER_POSITION
  glGet	with argument GL_CURRENT_RASTER_COLOR
  glGet	with argument GL_CURRENT_RASTER_INDEX
  glGet	with argument GL_CURRENT_RASTER_TEXTURE_COORDS
  glGet	with argument GL_CURRENT_RASTER_POSITION_VALID

See Also

  glDrawPixels,	glRasterPos, glPixelStore, glPixelTransfer

Introduction | Alphabetic | Specification

Last Edited: Mon, May 22, 1995

AFV