Signature
Parameters
Description
The GL maintains a 3D position in window coordinates.
This position,
called the raster position,
is used to position pixel and bitmap write operations. It is
maintained with subpixel accuracy.
See
glBitmap
,
glDrawPixels
, and
glCopyPixels
.
The current raster position consists of three window coordinates
(
,
,
),
a clip coordinate value
(
),
an eye coordinate distance,
a valid bit,
and associated color data and texture coordinates.
The
coordinate is a clip coordinate,
because
is not projected to window coordinates.
glRasterPos4
specifies object coordinates
,
,
,
and
explicitly.
glRasterPos3
specifies object coordinate
,
,
and
explicitly,
while
is implicitly set to 1.
glRasterPos2
uses the argument values for
and
while
implicitly setting
and
to 0 and 1.
The object coordinates presented by
glRasterPos
are treated just like those
of a
glVertex
command:
They are transformed by the current modelview and projection matrices
and passed to the clipping stage.
If the vertex is not culled,
then it is projected and scaled to window coordinates,
which become the new current raster position,
and the
GL_CURRENT_RASTER_POSITION_VALID
flag is set.
If the vertex
is
culled,
then the valid bit is cleared and the current raster position
and associated color and texture coordinates are undefined.
The current raster position also includes some associated color data
and texture coordinates.
If lighting is enabled,
then
GL_CURRENT_RASTER_COLOR
(in RGBA mode)
or
GL_CURRENT_RASTER_INDEX
(in color index mode)
is set to the color produced by the lighting calculation
(see
glLight
,
glLightModel
, and
glShadeModel
).
If lighting is disabled,
current color
(in RGBA mode, state variable
GL_CURRENT_COLOR
)
or color index
(in color index mode, state variable
GL_CURRENT_INDEX
)
is used to update the current raster color.
GL_CURRENT_RASTER_SECONDARY_COLOR
(in RGBA mode) is likewise updated.
Likewise,
GL_CURRENT_RASTER_TEXTURE_COORDS
is updated as a function
of
GL_CURRENT_TEXTURE_COORDS
,
based on the texture matrix and the texture generation functions
(see
glTexGen
).
Finally,
the distance from the origin of the eye coordinate system to the
vertex as transformed by only the modelview matrix replaces
GL_CURRENT_RASTER_DISTANCE
.
Initially, the current raster position is (0, 0, 0, 1),
the current raster distance is 0,
the valid bit is set,
the associated RGBA color is (1, 1, 1, 1),
the associated color index is 1,
and the associated texture coordinates are (0, 0, 0, 1).
In RGBA mode,
GL_CURRENT_RASTER_INDEX
is always 1;
in color index mode,
the current raster RGBA color always maintains its initial value.
Notes
When the raster position coordinates are invalid,
drawing commands that are based on the raster position are
ignored (that is, they do not result in changes to GL state).
Calling
glDrawElements
or
glDrawRangeElements
may leave the
current color or index indeterminate.
If
glRasterPos
is executed while the current color or index is indeterminate, the
current raster color or current raster index remains indeterminate.
To set a valid raster position outside the viewport, first set a valid
raster position, then call
glBitmap
with NULL as the
bitmap
parameter.
When the
ARB_imaging
extension is supported, there are distinct
raster texture coordinates for each texture unit. Each texture unit's
current raster texture coordinates are updated by
glRasterPos
.
Errors
GL_INVALID_OPERATION
is generated if
glRasterPos
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_POSITION_VALID
glGet
with argument
GL_CURRENT_RASTER_DISTANCE
glGet
with argument
GL_CURRENT_RASTER_COLOR
glGet
with argument
GL_CURRENT_RASTER_SECONDARY_COLOR
glGet
with argument
GL_CURRENT_RASTER_INDEX
glGet
with argument
GL_CURRENT_RASTER_TEXTURE_COORDS
See Also
Copyright
Copyright
1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Free Software B License. For details, see
http://oss.sgi.com/projects/FreeB/
.
Sample Code References
The following code samples have been found which appear to reference the functions described here. Take care that the code may be old, broken or not even use PyOpenGL.
glRasterPos
glRasterPos2f
glRasterPos2i
glRasterPos3f