
P
glPixelTransfer
Chapter 14
334
Each of the four color components is multiplied by a scale factor, then added to a bias
factor. That is, the red component is multiplied by GL_RED_SCALE, then added to
GL_RED_BIAS; the green component is multiplied by GL_GREEN_SCALE, then added
to GL_GREEN_BIAS; the blue component is multiplied by GL_BLUE_SCALE, then
added to GL_BLUE_BIAS; and the alpha component is multiplied by
GL_ALPHA_SCALE, then added to GL_ALPHA_BIAS. After all four color components
are scaled and biased, each is clamped to the range [0, 1]. All color, scale, and bias values
are specified with glPixelTransfer.
If GL_MAP_COLOR is true, each color component is scaled by the size of the
corresponding color-to-color map, then replaced by the contents of that map indexed by
the scaled component. That is, the red component is scaled by
GL_PIXEL_MAP_R_TO_R_SIZE, then replaced by the contents of
GL_PIXEL_MAP_R_TO_R indexed by itself. The green component is scaled by
GL_PIXEL_MAP_G_TO_G_SIZE, then replaced by the contents of
GL_PIXEL_MAP_G_TO_G indexed by itself. The blue component is scaled by
GL_PIXEL_MAP_B_TO_B_SIZE, then replaced by the contents of
GL_PIXEL_MAP_B_TO_B indexed by itself. And the alpha component is scaled by
GL_PIXEL_MAP_A_TO_A_SIZE, then replaced by the contents of
GL_PIXEL_MAP_A_TO_A indexed by itself. All components taken from the maps are
then clamped to the range [0, 1]. GL_MAP_COLOR is specified with glPixelTransfer. The
contents of the various maps are specified with glPixelMap.
Color index
Each color index is shifted left by GL_INDEX_SHIFT bits; any bits beyond the number
of fraction bits carried by the fixed-point index are filled with zeros. If
GL_INDEX_SHIFT is negative, the shift is to the right, again zero filled. Then
GL_INDEX_OFFSET is added to the index. GL_INDEX_SHIFT and
GL_INDEX_OFFSET are specified with glPixelTransfer.
From this point, operation diverges depending on the required format of the resulting
pixels. If the resulting pixels are to be written to a color index buffer, or if they are being
read back to client memory in GL_COLOR_INDEX format, the pixels continue to be
treated as indices. If GL_MAP_COLOR is true, each index is masked by 2
n
-1, where n is
GL_PIXEL_MAP_I_TO_I_SIZE, then replaced by the contents of
GL_PIXEL_MAP_I_TO_I indexed by the masked value. GL_MAP_COLOR is specified
with glPixelTransfer. The contents of the index map is specified with glPixelMap.
If the resulting pixels are to be written to an RGBA color buffer, or if they are read back
to client memory in a format other than GL_COLOR_INDEX, the pixels are converted
from indices to colors by referencing the four maps 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.
Before being de-referenced, the index is masked by 2
n
- 1, where n is
GL_PIXEL_MAP_I_TO_R_SIZE for the red map, GL_PIXEL_MAP_I_TO_G_SIZE for
the green map, GL_PIXEL_MAP_I_TO_B_SIZE for the blue map, and
GL_PIXEL_MAP_I_TO_A_SIZE for the alpha map. All components taken from the maps
are then clamped to the range [0, 1]. The contents of the four maps is specified with
glPixelMap.
Depth
Each depth value is multiplied by GL_DEPTH_SCALE, added to GL_DEPTH_BIAS,
then clamped to the range [0, 1].
Stencil
Summary of Contents for c3700 - Workstation
Page 9: ...Chapter 1 9 1 A ...
Page 18: ...A glArrayElement Chapter 1 18 glNormalPointer glTexCoordPointer glVertexPointer ...
Page 19: ...Chapter 2 19 2 B ...
Page 40: ...B gluBuild2DMipmaps Chapter 2 40 ...
Page 41: ...Chapter 3 41 3 C ...
Page 49: ...C glXChooseVisual Chapter 3 49 See Also glXCreateContext glXGetConfig ...
Page 73: ...C glCopyPixels Chapter 3 73 glReadBuffer glReadPixels glStencilFunc ...
Page 84: ...C glCopyTexSubImage2D Chapter 3 84 glTexParameter glTexSubImage1D glTexSubImage2D ...
Page 93: ...Chapter 4 93 4 D ...
Page 99: ...D glDeleteTextures Chapter 4 99 glTexImage1D glTexImage2D glTexParameter ...
Page 127: ...Chapter 5 127 5 E ...
Page 148: ...E glEvalPoint Chapter 5 148 ...
Page 149: ...Chapter 6 149 6 F ...
Page 161: ...Chapter 7 161 7 G ...
Page 164: ...G glGenTextures Chapter 7 164 glTexImage1D glTexImage2D glTexParameter ...
Page 207: ...G glGetPointer Chapter 7 207 glSelectBuffer glTexCoordPointer glVertexPointer ...
Page 225: ...Chapter 8 225 8 H ...
Page 228: ...H glHint Chapter 8 228 ...
Page 229: ...Chapter 9 229 9 I ...
Page 248: ...I glIsTexture Chapter 9 248 ...
Page 249: ...Chapter 10 249 10 L ...
Page 256: ...L glLightModel Chapter 10 256 See Also glLight glMaterial ...
Page 271: ...Chapter 11 271 11 M ...
Page 291: ...Chapter 12 291 12 N ...
Page 312: ...N gluNurbsSurface Chapter 12 312 ...
Page 313: ...Chapter 13 313 13 O ...
Page 317: ...Chapter 14 317 14 P ...
Page 360: ...P glPushName Chapter 14 360 See Also glInitNames glLoadName glRenderMode glSelectBuffer ...
Page 362: ...P gluPwlCurve Chapter 14 362 ...
Page 363: ...Chapter 15 363 15 Q ...
Page 372: ...Q glXQueryVersion Chapter 15 372 glXQueryVersion ...
Page 373: ...Chapter 16 373 16 R ...
Page 390: ...R glRotate Chapter 16 390 ...
Page 391: ...Chapter 17 391 17 S ...
Page 397: ...S glScissor Chapter 17 397 See Also glEnable glViewport ...
Page 409: ...Chapter 18 409 18 T ...
Page 448: ...T glTexImage3DEXT Chapter 18 448 glTexGen glTexImage1D glTexImage2D glTexParameter ...
Page 457: ...T glTexSubImage1D Chapter 18 457 glTexImage2D glTexParameter glTexSubImage2D ...
Page 465: ...T glTranslate Chapter 18 465 See Also glMatrixMode glMultMatrix glPushMatrix glScale ...
Page 466: ...T glTranslate Chapter 18 466 ...
Page 467: ...Chapter 19 467 19 U ...
Page 469: ...U gluUnProject Chapter 19 469 See Also glGet gluProject ...
Page 471: ...U glXUseXFont Chapter 19 471 See Also glBitmap glXMakeCurrent ...
Page 472: ...U glXUseXFont Chapter 19 472 ...
Page 473: ...Chapter 20 473 20 V ...
Page 482: ...V glVisibilityBufferhp Chapter 20 482 ...
Page 483: ...Chapter 21 483 21 W ...
Page 486: ...W glXWaitX Chapter 21 486 ...