
D
glDrawPixels
Chapter 4
122
width
×
height pixels are read from memory, starting at location pixels. By default, these
pixels are taken from adjacent memory locations, except that after all width pixels are
read, the read pointer is advanced to the next four-byte boundary. The four-byte row
alignment is specified by glPixelStore with argument GL_UNPACK_ALIGNMENT, and
it can be set to one, two, four, or eight bytes. Other pixel store parameters specify
different read pointer advancements, both before the first pixel is read and after all
width pixels are read. See the glPixelStore reference page for details on these options.
The width
×
height pixels that are read from memory are each operated on in the same
way, based on the values of several parameters specified by glPixelTransfer and
glPixelMap. The details of these operations, as well as the target buffer into which the
pixels are drawn, are specific to the format of the pixels, as specified by format. format
can assume one of eleven symbolic values:
GL_COLOR_INDEX
Each pixel is a single value, a color index. It is converted to fixed-point format, with an
unspecified number of bits to the right of the binary point, regardless of the memory data
type. Floating-point values convert to true fixed-point values. Signed and unsigned
integer data is converted with all fraction bits set to 0. Bitmap data convert to either 0 or
1.
Each fixed-point index is then shifted left by GL_INDEX_SHIFT bits and added to
GL_INDEX_OFFSET. If GL_INDEX_SHIFT is negative, the shift is to the right. In
either case, zero bits fill otherwise unspecified bit locations in the result.
If the GL is in RGBA mode, the resulting index is converted to an RGBA pixel with the
help of the GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G,
GL_PIXEL_MAP_I_TO_B, and GL_PIXEL_MAP_I_TO_A tables. If the GL is in color
index mode, and if GL_MAP_COLOR is true, the index is replaced with the value that it
references in lookup table GL_PIXEL_MAP_I_TO_I. Whether the lookup replacement of
the index is done or not, the integer part of the index is then ANDed with 2
b
- 1, where b
is the number of bits in a color index buffer.
The GL then converts the resulting indices or RGBA colors to fragments by attaching the
current raster position z coordinate and texture coordinates to each pixel, then assigning
x and y window coordinates to the nth fragment such that
x
n
= x
r
+ n mod width
y
n
= y
r
+
n/width
where (x
r
, y
r
) is the current raster position.These pixel fragments are then treated just
like the fragments generated by rasterizing points, lines, or polygons. Texture mapping,
fog, and all the fragment operations are applied before the fragments are written to the
frame buffer.
GL_STENCIL_INDEX
Each pixel is a single value, a stencil index. It is converted to fixed-point format, with an
unspecified number of bits to the right of the binary point, regardless of the memory data
type. Floating-point values convert to true fixed-point values. Signed and unsigned
integer data is converted with all fraction bits set to 0. Bitmap data convert to either 0 or
1.
Each fixed-point index is then shifted left by GL_INDEX_SHIFT bits, and added to
GL_INDEX_OFFSET. If GL_INDEX_SHIFT is negative, the shift is to the right. In
either case, zero bits fill otherwise unspecified bit locations in the result. If
Содержание c3700 - Workstation
Страница 9: ...Chapter 1 9 1 A ...
Страница 12: ...A glAccum Chapter 1 12 glLogicOp glPixelStore glPixelTransfer glReadBuffer glReadPixels glScissor glStencilOp ...
Страница 18: ...A glArrayElement Chapter 1 18 glNormalPointer glTexCoordPointer glVertexPointer ...
Страница 19: ...Chapter 2 19 2 B ...
Страница 40: ...B gluBuild2DMipmaps Chapter 2 40 ...
Страница 41: ...Chapter 3 41 3 C ...
Страница 49: ...C glXChooseVisual Chapter 3 49 See Also glXCreateContext glXGetConfig ...
Страница 73: ...C glCopyPixels Chapter 3 73 glReadBuffer glReadPixels glStencilFunc ...
Страница 84: ...C glCopyTexSubImage2D Chapter 3 84 glTexParameter glTexSubImage1D glTexSubImage2D ...
Страница 93: ...Chapter 4 93 4 D ...
Страница 99: ...D glDeleteTextures Chapter 4 99 glTexImage1D glTexImage2D glTexParameter ...
Страница 127: ...Chapter 5 127 5 E ...
Страница 148: ...E glEvalPoint Chapter 5 148 ...
Страница 149: ...Chapter 6 149 6 F ...
Страница 161: ...Chapter 7 161 7 G ...
Страница 164: ...G glGenTextures Chapter 7 164 glTexImage1D glTexImage2D glTexParameter ...
Страница 185: ...G glGet Chapter 7 185 glGetTexGen glGetTexImage glGetTexLevelParameter glGetTexParameter glIsEnabled ...
Страница 207: ...G glGetPointer Chapter 7 207 glSelectBuffer glTexCoordPointer glVertexPointer ...
Страница 224: ...G glGetTexParameter Chapter 7 224 See Also glAreTexturesResident glPrioritizeTextures glTexParameter ...
Страница 225: ...Chapter 8 225 8 H ...
Страница 228: ...H glHint Chapter 8 228 ...
Страница 229: ...Chapter 9 229 9 I ...
Страница 248: ...I glIsTexture Chapter 9 248 ...
Страница 249: ...Chapter 10 249 10 L ...
Страница 256: ...L glLightModel Chapter 10 256 See Also glLight glMaterial ...
Страница 271: ...Chapter 11 271 11 M ...
Страница 291: ...Chapter 12 291 12 N ...
Страница 312: ...N gluNurbsSurface Chapter 12 312 ...
Страница 313: ...Chapter 13 313 13 O ...
Страница 317: ...Chapter 14 317 14 P ...
Страница 345: ...P glPolygonStipple Chapter 14 345 See Also glDrawPixels glLineStipple glPixelStore glPixelTransfer ...
Страница 360: ...P glPushName Chapter 14 360 See Also glInitNames glLoadName glRenderMode glSelectBuffer ...
Страница 362: ...P gluPwlCurve Chapter 14 362 ...
Страница 363: ...Chapter 15 363 15 Q ...
Страница 372: ...Q glXQueryVersion Chapter 15 372 glXQueryVersion ...
Страница 373: ...Chapter 16 373 16 R ...
Страница 390: ...R glRotate Chapter 16 390 ...
Страница 391: ...Chapter 17 391 17 S ...
Страница 397: ...S glScissor Chapter 17 397 See Also glEnable glViewport ...
Страница 409: ...Chapter 18 409 18 T ...
Страница 430: ...T glTexEnv Chapter 18 430 glCopyTexSubImage2D glTexImage1D glTexImage2D glTexParameter glTexSubImage1D glTexSubImage2D ...
Страница 448: ...T glTexImage3DEXT Chapter 18 448 glTexGen glTexImage1D glTexImage2D glTexParameter ...
Страница 457: ...T glTexSubImage1D Chapter 18 457 glTexImage2D glTexParameter glTexSubImage2D ...
Страница 465: ...T glTranslate Chapter 18 465 See Also glMatrixMode glMultMatrix glPushMatrix glScale ...
Страница 466: ...T glTranslate Chapter 18 466 ...
Страница 467: ...Chapter 19 467 19 U ...
Страница 469: ...U gluUnProject Chapter 19 469 See Also glGet gluProject ...
Страница 471: ...U glXUseXFont Chapter 19 471 See Also glBitmap glXMakeCurrent ...
Страница 472: ...U glXUseXFont Chapter 19 472 ...
Страница 473: ...Chapter 20 473 20 V ...
Страница 482: ...V glVisibilityBufferhp Chapter 20 482 ...
Страница 483: ...Chapter 21 483 21 W ...
Страница 486: ...W glXWaitX Chapter 21 486 ...