5
.ds Dt 24 September 1999
9
.ds Xs 20383 7 rasterpos.gl
12
.B "glRasterPos2d, glRasterPos2f, glRasterPos2i, glRasterPos2s, glRasterPos3d, glRasterPos3f, glRasterPos3i, glRasterPos3s, glRasterPos4d, glRasterPos4f, glRasterPos4i, glRasterPos4s, glRasterPos2dv, glRasterPos2fv, glRasterPos2iv, glRasterPos2sv, glRasterPos3dv, glRasterPos3fv, glRasterPos3iv, glRasterPos3sv, glRasterPos4dv, glRasterPos4fv, glRasterPos4iv, glRasterPos4sv
13
\- specify the raster position for pixel operations
16
void \f3glRasterPos2d\fP(
19
.ta \w'\f3void \fPglRasterPos2d( 'u
22
void \f3glRasterPos2f\fP(
25
.ta \w'\f3void \fPglRasterPos2f( 'u
28
void \f3glRasterPos2i\fP(
31
.ta \w'\f3void \fPglRasterPos2i( 'u
34
void \f3glRasterPos2s\fP(
37
.ta \w'\f3void \fPglRasterPos2s( 'u
40
void \f3glRasterPos3d\fP(
43
.ta \w'\f3void \fPglRasterPos3d( 'u
47
void \f3glRasterPos3f\fP(
50
.ta \w'\f3void \fPglRasterPos3f( 'u
54
void \f3glRasterPos3i\fP(
57
.ta \w'\f3void \fPglRasterPos3i( 'u
61
void \f3glRasterPos3s\fP(
64
.ta \w'\f3void \fPglRasterPos3s( 'u
68
void \f3glRasterPos4d\fP(
71
.ta \w'\f3void \fPglRasterPos4d( 'u
76
void \f3glRasterPos4f\fP(
79
.ta \w'\f3void \fPglRasterPos4f( 'u
84
void \f3glRasterPos4i\fP(
87
.ta \w'\f3void \fPglRasterPos4i( 'u
92
void \f3glRasterPos4s\fP(
95
.ta \w'\f3void \fPglRasterPos4s( 'u
105
.TP \w'\f2x\fP\ \f2y\fP\ \f2z\fP\ \f2w\fP\ \ 'u
106
\f2x\fP, \f2y\fP, \f2z\fP, \f2w\fP
107
Specify the $x$, $y$, $z$, and $w$ object coordinates
109
for the raster position.
111
void \f3glRasterPos2dv\fP(
112
const GLdouble \fI*v\fP )
115
void \f3glRasterPos2fv\fP(
116
const GLfloat \fI*v\fP )
119
void \f3glRasterPos2iv\fP(
120
const GLint \fI*v\fP )
123
void \f3glRasterPos2sv\fP(
124
const GLshort \fI*v\fP )
127
void \f3glRasterPos3dv\fP(
128
const GLdouble \fI*v\fP )
131
void \f3glRasterPos3fv\fP(
132
const GLfloat \fI*v\fP )
135
void \f3glRasterPos3iv\fP(
136
const GLint \fI*v\fP )
139
void \f3glRasterPos3sv\fP(
140
const GLshort \fI*v\fP )
143
void \f3glRasterPos4dv\fP(
144
const GLdouble \fI*v\fP )
147
void \f3glRasterPos4fv\fP(
148
const GLfloat \fI*v\fP )
151
void \f3glRasterPos4iv\fP(
152
const GLint \fI*v\fP )
155
void \f3glRasterPos4sv\fP(
156
const GLshort \fI*v\fP )
163
Specifies a pointer to an array of two,
166
specifying $x$, $y$, $z$, and $w$ coordinates, respectively.
168
The GL maintains a 3D position in window coordinates.
170
called the raster position,
171
is used to position pixel and bitmap write operations. It is
172
maintained with subpixel accuracy.
173
See \%\f3glBitmap\fP, \%\f3glDrawPixels\fP, and \%\f3glCopyPixels\fP.
175
The current raster position consists of three window coordinates
177
a clip coordinate value ($w$),
178
an eye coordinate distance,
180
and associated color data and texture coordinates.
181
The $w$ coordinate is a clip coordinate,
182
because $w$ is not projected to window coordinates.
183
\%\f3glRasterPos4\fP specifies object coordinates $x$, $y$, $z$, and $w$
185
\%\f3glRasterPos3\fP specifies object coordinate $x$, $y$, and $z$ explicitly,
186
while $w$ is implicitly set to 1.
187
\%\f3glRasterPos2\fP uses the argument values for $x$ and $y$ while
188
implicitly setting $z$ and $w$ to 0 and 1.
190
The object coordinates presented by \%\f3glRasterPos\fP are treated just like those
191
of a \%\f3glVertex\fP command:
192
They are transformed by the current modelview and projection matrices
193
and passed to the clipping stage.
194
If the vertex is not culled,
195
then it is projected and scaled to window coordinates,
196
which become the new current raster position,
197
and the \%\f3GL_CURRENT_RASTER_POSITION_VALID\fP flag is set.
201
then the valid bit is cleared and the current raster position
202
and associated color and texture coordinates are undefined.
204
The current raster position also includes some associated color data
205
and texture coordinates.
206
If lighting is enabled,
207
then \%\f3GL_CURRENT_RASTER_COLOR\fP
209
or \%\f3GL_CURRENT_RASTER_INDEX\fP
210
(in color index mode)
211
is set to the color produced by the lighting calculation
212
(see \%\f3glLight\fP, \%\f3glLightModel\fP, and
214
\%\f3glShadeModel\fP).
215
If lighting is disabled,
217
(in RGBA mode, state variable \%\f3GL_CURRENT_COLOR\fP)
219
(in color index mode, state variable \%\f3GL_CURRENT_INDEX\fP)
220
is used to update the current raster color.
223
\%\f3GL_CURRENT_RASTER_TEXTURE_COORDS\fP is updated as a function
224
of \%\f3GL_CURRENT_TEXTURE_COORDS\fP,
225
based on the texture matrix and the texture generation functions
226
(see \%\f3glTexGen\fP).
228
the distance from the origin of the eye coordinate system to the
229
vertex as transformed by only the modelview matrix replaces
230
\%\f3GL_CURRENT_RASTER_DISTANCE\fP.
232
Initially, the current raster position is (0, 0, 0, 1),
233
the current raster distance is 0,
234
the valid bit is set,
235
the associated RGBA color is (1, 1, 1, 1),
236
the associated color index is 1,
237
and the associated texture coordinates are (0, 0, 0, 1).
239
\%\f3GL_CURRENT_RASTER_INDEX\fP is always 1;
241
the current raster RGBA color always maintains its initial value.
243
The raster position is modified both by \%\f3glRasterPos\fP and by \%\f3glBitmap\fP.
245
When the raster position coordinates are invalid,
246
drawing commands that are based on the raster position are
247
ignored (that is, they do not result in changes to GL state).
249
Calling \%\f3glDrawElements\fP, or \%\f3glDrawRangeElements\fP may leave the
250
current color or index indeterminate.
251
If \%\f3glRasterPos\fP is executed while the current color or index is indeterminate, the
252
current raster color or current raster index remains indeterminate.
254
To set a valid raster position outside the viewport, first set a valid
255
raster position, then call \%\f3glBitmap\fP with NULL as the \f2bitmap\fP
258
When the \%\f3GL_ARB_imaging\fP extension is supported, there are distinct
259
raster texture coordinates for each texture unit. Each texture unit's
260
current ratster texture coordinates are updated by \%\f3glRasterPos\fP.
262
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glRasterPos\fP
263
is executed between the execution of \%\f3glBegin\fP
264
and the corresponding execution of \%\f3glEnd\fP.
266
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_POSITION\fP
268
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_POSITION_VALID\fP
270
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_DISTANCE\fP
272
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_COLOR\fP
274
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_INDEX\fP
276
\%\f3glGet\fP with argument \%\f3GL_CURRENT_RASTER_TEXTURE_COORDS\fP
278
\%\f3glBitmap(3G)\fP,
279
\%\f3glCopyPixels(3G)\fP,
280
\%\f3glDrawArrays(3G)\fP,
281
\%\f3glDrawElements(3G)\fP,
282
\%\f3glDrawRangeElements(3G)\fP,
283
\%\f3glDrawPixels(3G)\fP,
284
\%\f3glTexCoord(3G)\fP,
285
\%\f3glTexGen(3G)\fP,