1991-2006 Silicon Graphics, Inc.
glWindowPos 3G
glWindowPos specify the raster position in window coordinates for pixel operations

## C Specification

void `glWindowPos2s` GLshort x GLshort y void `glWindowPos2i` GLint x GLint y void `glWindowPos2f` GLfloat x GLfloat y void `glWindowPos2d` GLdouble x GLdouble y void `glWindowPos3s` GLshort x GLshort y GLshort z void `glWindowPos3i` GLint x GLint y GLint z void `glWindowPos3f` GLfloat x GLfloat y GLfloat z void `glWindowPos3d` GLdouble x GLdouble y GLdouble z

## Parameters

x
y
z

  Specify the x, y, z coordinates for the raster position.

## C Specification

void `glWindowPos2sv` const GLshort * v void `glWindowPos2iv` const GLint * v void `glWindowPos2fv` const GLfloat * v void `glWindowPos2dv` const GLdouble * v void `glWindowPos3sv` const GLshort * v void `glWindowPos3iv` const GLint * v void `glWindowPos3fv` const GLfloat * v void `glWindowPos3dv` const GLdouble * v

## Parameters

v

  Specifies a pointer to an array of two or three elements, specifying x, y, z coordinates, respectively.

## 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.

`glWindowPos2` specifies the x and y coordinates, while z is implicitly set to 0. `glWindowPos3` specifies all three coordinates. The w coordinate of the current raster position is always set to 1.0.

`glWindowPos` directly updates the x and y coordinates of the current raster position with the values specified. That is, the values are neither transformed by the current modelview and projection matrices, nor by the viewport-to-window transform. The z coordinate of the current raster position is updated in the following manner:

z = n f n + z × f - n ⁢ if ⁢ z <= 0 if ⁢ z >= 1 otherwise

where n is `GL_DEPTH_RANGE`'s near value, and f is `GL_DEPTH_RANGE`'s far value. See glDepthRange.

The specified coordinates are not clip-tested, causing the raster position to always be valid.

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). The `GL_CURRENT_RASTER_DISTANCE` is set to the `GL_CURRENT_FOG_COORD`.

## Notes

`glWindowPos` is available only if the GL version is 1.4 or greater.

The raster position is modified by glRasterPos, glBitmap, and `glWindowPos`.

Calling glDrawElements, or glDrawRangeElements may leave the current color or index indeterminate. If `glWindowPos` is executed while the current color or index is indeterminate, the current raster color or current raster index remains indeterminate.

There are distinct raster texture coordinates for each texture unit. Each texture unit's current raster texture coordinates are updated by `glWindowPos`.

## Errors

`GL_INVALID_OPERATION` is generated if `glWindowPos` 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

glBitmap, glCopyPixels, glDrawArrays, glDrawElements, glDrawRangeElements, glDrawPixels, glMultiTexCoord, glRasterPos, glTexCoord, glTexGen, glVertex

## 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/.