2D Cartesian coordinates, 24
2D graphics
2D Bézier curves, 391–396
bitmaps
BITMAPS sample program, 253–257
definition of, 252
drawing, 257
pixel packing, 257–258
raster position, 256
color matrix, 288–289
color tables
bias values, 291
color lookup, 289–290
proxies, 290–291
rendering, 291
replacing, 291–292
scaling factors, 291
convolutions
applying, 293
border modes, 296–297
combining with other imaging operations, 293–294
definition of, 292
kernels, 292
loading from color buffer, 295
one-dimensional filters, 296
separable filters, 296
histograms, 297–300
history of, 10
imaging pipeline, 288
IMAGING sample program
glColorTable function, 290
glConvolutionFilter2D function, 293
glMatrixMode function, 288
histograms, 298–300
RenderScene function, 284–287
imaging subset, 283–284
minmax operations, 301
OPERATIONS sample program
glPixelMap function, 282
glPixelTransferf function, 279
glPixelZoom function, 275–277
ProcessMenu function, 269, 274
RenderScene function, 270–275
source code, 268–275
overview, 251
pixel mapping, 281–282
pixel packing, 257–258
pixel transfer, 277–281
pixel zoom, 275–277
pixmaps
copying pixels, 265
data types, 259–260
definition of, 252
drawing, 258
IMAGELOAD, 261–265
moving pixels, 265–266
packed pixel formats, 260
pixel formats, 259
reading pixels, 265
saving pixels, 266–268
primitives, 27
targa files
loading, 262–265
writing to, 266–268
textures, 311–316
3D Cartesian coordinates, 27
3D graphics. See also GLSL (OpenGL Shading Language)
actors
actor frames, 161–163
definition of, 161
antialiasing, 18
applications
non–real-time 3D, 22
real-time 3D, 19–22
shaders, 22–23
Bézier curves
2D curves, 391–396
3D Bézier surfaces, 397–400
breakpoints, 390
continuity, 390–391
control points, 390
cubic curves, 390
degree of, 390
evaluating, 396–397
lighting and normal vectors, 400–401
order of, 390
overview, 388
parametric equation, 388–389
piecewise curves, 390
quadratic curves, 390
bitmaps, drawing, 796–797
blending, 18
buffers. See buffers
color. See color
coordinate systems
2D Cartesian coordinates, 24
3D Cartesian coordinates, 27
coordinate clipping, 25–26
overview, 24
vertices, 27
viewports, 26–27
display lists
batch processing, 423–424
converting to, 426–428
creating, 425
deleting, 425
executing, 425–426
immediate mode rendering, 423
limitations of, 426
naming, 425
overview, 422–423
preprocessed batches, 424–426
Euler angles, 163–164
feedback
feedback data, 472
labeling objects for, 473–475
passthrough markers, 473
SELECT sample program, 473–480
filtering, 16
fixed functionality rendering pipeline
antialiasing application, 521
clipping, 519–520
color sum, 520
fog application, 521
lighting, 518
overview, 515–516
texture application and environment, 520
texture coordinate generation and transformation, 519
vertex transformation, 518
further reading, 773–774
general polygons, 108–109
history of, 10–14
CRTs (cathode ray tubes), 10
development of 3D graphic techniques, 11–13
foreshortening, 14
overview, 9–10
real-time graphics, 10–11
immediate mode, 23
lines, drawing
curves, approximating with straight lines, 88–89
glBegin function, 85
glEnd function, 85
line loops, 87–88
line strips, 87–89
line width, 89–91
LINES program example, 85–87
stippling, 91–93
matrices
column-major matrix ordering, 154–155
creating, 157–159
definition of, 134
identity matrices, 140–142
loading, 156–160
modelview matrices, 136
orthonormal vectors, 155
perspective
definition of, 14
foreshortening, 14
hidden surface removal, 14
overview, 11–13
points, drawing
glBegin function, 78
glEnd function, 78
glVertex function, 76–77
overview, 74
point parameters, 85, 1040–1041
POINTS program example, 78–80
POINTSZ program example, 82–85
projections
orthographic projections, 29
overview, 28
perspective projections, 30
quad strips, 108
quadrics
cylinders, 382
disks, 384–385
modeling with, 385–388
overview, 378
quadric states, 379–381
SNOWMAN sample program, 385–388
spheres, 381–382
rendering
definition of, 14
full-screen rendering on Mac OS X, 706–711
immediate mode rendering, 423
with vertex arrays, 434–435
retained mode, 23
scalars, 135
scissor test, 119–121
selection
definition of, 457
hierarchical picking, 466–471
naming primitives, 458–460
overview, 458
rendering modes, 460–461
selection buffer, 461–463
shaders. See shaders
shading, 15
shadows, 15–16
solid objects, drawing
backface culling, 104–106
depth testing, 103
edge flags, 114–116
hidden surface removal, 102–103
polygon construction rules, 113–114
polygon modes, 107
shading, 183–186
stippling, 109–113
TRIANGLE program example, 98–101
surfaces. See surfaces
textures
anisotropic texture filtering, 344–346
beach ball texture fragment shader, 592–595
binding, 795–796
checkerboard texture fragment shader, 589–591
compressing, 347–349
coordinate generation parameters, 966–967
coordinates, 1084–1087, 1091–1093
data types, 306–307
dependent texture lookups, 572
environment parameters, 964–966, 1087–1091
filtering, 318–319
floating-point textures, 622–630
internal formats, 305
isotropic texture filtering, 345
loading, 304–307
loading compressed textures, 349–350
making active, 785
mipmapping, 325–330
multiple textures, managing, 331–338
multitexture, 362–369
one-dimensional texture images, specifying, 1094–1099
point sprites, 371–374
priorities, 1046–1047
procedural texture mapping vertex shader, 588–589
PYRAMID sample program, 311–316
returning compressed textures, 937–938
secondary specular color, 341–344
selecting active texture, 814
state, 304
subimages. See subimages
texels, 304–306
texture combiners, 369–371
texture coordinates, 308–310, 350–361, 1018–1020
texture environment mode, 316–318
texture matrix, 311
texture objects, 330–339
texture priorities, 339
three-dimensional texture images, specifying, 1105–1110
toon-shading (cell-shading), 321–325
toy ball texture fragment shader, 595–599
two-dimensional texture images, specifying, 1099–1104
updating, 307–308
wrap modes, 320–321
transformations. See transformations
transparency, 18
triangles, drawing
overview, 94
simple example, 94–95
triangle fans, 97–98
triangle strips, 96–97
vectors, 134
vertex arrays
enabling, 432–433
indexed vertex arrays, 435–449
loading geometry, 432
overview, 428–429
pointer functions, 433–434
rendering with, 434–435
sizes and data types, 434
STARRYNIGHT sample program, 429–431
texture, 434
viewing volume, 74–76
4-bit color mode, 179
8-bit color mode, 179
16-bit color mode, 180
24-bit color mode, 180
32-bit color mode, 180
8514 graphics cards, 178
accumulation buffers, 244–248, 784–785
active texture, selecting, 814
actors
actor frames, 161–163
definition of, 161
AddTriangle method, 445
AGL
full-screen rendering support, 708–711
overview, 686
pixel formats, 692–693
rendering context, 694–695
AGL_ACCUM_ALPHA_SIZE constant, 693
AGL_ACCUM_BLUE_SIZE constant, 693
AGL_ACCUM_GREEN_SIZE constant, 693
AGL_ACCUM_RED_SIZE constant, 693
AGL_ALL_RENDERERS constant, 692
AGL_ALPHA_SIZE constant, 693
AGL_AUX_BUFFERS constant, 693
AGL_AUX_DEPTH_STENCIL constant, 693
AGL_BLUE_SIZE constant, 693
AGL_BUFFER_SIZE constant, 692
AGL_COLOR_FLOAT constant, 693
AGL_DEPTH_SIZE constant, 693
AGL_DOUBLEBUFFER constant, 692
AGL_FULLSCREEN constant, 693
AGL_GREEN_SIZE constant, 693
AGL_LEVEL constant, 692
AGL_MAXIMUM_POLICY constant, 693
AGL_MINIMUM_POLICY constant, 693
AGL_MULTISAMPLE constant, 693
AGL_NONE constant, 692
AGL_OFFSCREEN constant, 693
AGL_PIXEL_SIZE constant, 693
AGL_RED_SIZE constant, 693
AGL_RGBA constant, 692
AGL_SAMPLES_ARB constant, 693
AGL_SAMPLE_ALPHA constant, 693
AGL_SAMPLE_BUFFERS_ARB constant, 693
AGL_STENCIL_SIZE constant, 693
AGL_STEREO constant, 693
AGL_SUPERSAMPLE constant, 693
aglChoosePixelFormat function, 692, 710
aglCreateContext function, 694
aglDestroyPixelFormat function, 694
aglEnable function, 710
AGLPixelFormat data type, 692
aglSetCurrentContext function, 694
aglSetDrawable function, 694
aglSetFullScreen function, 710
aglSwapBuffers function, 696
aglUpdateContext function, 696
aglUseFont function, 697–698
aliasing, 18
allocating texture objects, 330
ambient light
AMBIENT program, 195–196
calculating light effects, 190–191
Cosmic Background Radiation (global ambient light), 192–193
material properties, 193–196
overview, 187–188
shadows, 500–501
AMBIENT program, 195–196
AMD/ATI’s developer home page, 774
animation
bouncing square example, 62–64
double buffering, 64–65
frames, 423
keyboard polling, 171
overview, 61
ANISOTROPIC program, 346
anisotropic texture filtering, 344–346
antialiasing, 18, 85, 234–238, 521
API wars, 36
ApplyActorTransform function, 169
ApplyCameraTransform function, 164
applying convolution filters, 293
approximation, 217
ARB (Architecture Review Board), 35
ARB_prefix, 71
arrays
of colors, defining, 819–820
of generic vertex attribute data, 1134–1135
indexing, 538
interleaved arrays, enabling, 984–985
of normals, defining, 1025–1026
overview, 534–535
of secondary colors, defining, 1069–1070
of texture coordinates, 1085–1087
vertex arrays
enabling, 432–433
indexed vertex arrays, 435–449
loading geometry, 432
overview, 428–429
pointer functions, 433–434
rendering with, 434–435
sizes and data types, 434
STARRYNIGHT sample program, 429–431
texture, 434
of vertex data, 1136–1137
ATI_prefix, 71
ATOM program, 143–146
attaching
images to FBOs (framebuffer objects), 610–611
program objects to shaders, 530
attribute qualifier, 535
averaging normal vectors, 211–213
axes (2D Cartesian coordinate systems), 24
B-splines, 402
backface culling, 104–106
batch processing
flushing buffer, 423–424
preprocessed batches, 424–426
beach ball texture fragment shader, 592–595
BeginPaint function, 665
BEZ3D program, 397–399
Bézier curves
2D curves, 391–396
3D Bézier surfaces, 397–400
breakpoints, 390
continuity, 390–391
control points, 390
cubic curves, 390
degree of, 390
evaluating, 396–397
lighting and normal vectors, 400–401
order of, 390
overview, 388
parametric equation, 388–389
piecewise curves, 390
quadratic curves, 390
BEZIER program, 391–393
BEZLIT program, 401
bi-cubic splines, 402
bias values, applying with color tables, 291
binding
vertex buffer objects, 450, 793–795
bitmaps
bitmap fonts (Carbon)
CARBONGLFONTS sample program, 698
setting up fonts, 697–698
BITMAPS sample program, 253–255
glBitmap function, 257
glRasterPos2i function, 256
glWindowPos2i function, 256
RenderScene function, 255
definition of, 252
pixel packing, 257–258
raster position, 256
BITMAPS program, 253–255
glBitmap function, 257
glRasterPos2i function, 256
glWindowPos2i function, 256
RenderScene function, 255
bitwise color logical operations, 248
blending
color, 229
antialiasing, 234–238
blend color, 798
blending equation, 230, 234, 798–799
destination color, 230
enabling blending, 230
glBlendColor function, 234
glBlendEquation function, 234
glBlendFunc function, 230–232
glBlendFuncSeparate function, 234
multisampling, 238–240
pixel arithmetic, 801, 803–806
REFLECTION sample program, 232–233
source color, 230
overview, 18
vertex blending, 563–566
bloom effect
bright pass, 633–634
drawing scene, 630–633
framebuffer, 636–638
Gaussian blur, 634–636
overview, 630
PBOs (pixel buffer objects), 638
blurring images, 575–576
blur fragment shader, 575–576
Gaussian blur, 634–636
bodies of programs, 50
books
3D graphics books, 773–774
OpenGL books, 773
bool data type, 533
border modes (convolutions), 296–297
bouncing square program, 62–64
bounding boxes
bounding volumes, 485
creating, 485–486
rendering, 487–490
bounding volumes, 485
breakpoints (Bézier curves), 390
buffers
accumulation buffers, 244–248, 784–785
clearing, 811–812
binding, 793–795
bloom effect
bright pass, 633–634
drawing scene, 630–633
framebuffer, 636–638
Gaussian blur, 634–636
overview, 630
PBOs (pixel buffer objects), 638
buffer targets, 117–119
clearing, 810–811
color buffer, 117
loading convolution kernels from, 295
loading textures from, 307
color index buffers
clearing, 813
controlling writing to, 981–982
data store
creating and initializing, 806–807
mapping, 1009–1010
returning pointers to, 932–933
returning subset of, 933
updating subset of, 807–808
clearing, 812–813
enabling/disabling, 865
double-buffered rendering, 64–65, 117
EGL, 764–765
FBOs (framebuffer objects)
attaching images, 610–611
creating, 609–610
destroying, 609–610
draw buffers, 611
environment map generation sample program, 615–618
framebuffer completeness, 612–613
mipmap generation, 613
multiple target rendering, 619–621
offscreen rendering, 613–615
overview, 608–609
shadow mapping sample program, 613–615
feedback buffer
glFeedbackBuffer function, 471
loading and parsing, 478–480
placing markers in, 1028
types, 471
High Dynamic Range (HDR), 622–623
OpenEXR file format, 623–626
overview, 622
tone mapping, 626–630
flushing, 423–424
frame buffer, 53
color components, enabling/disabling, 817–818
copying pixels in, 848–850
reading pixels from, 1057–1060
writing block of pixels to, 871–876
multisampled buffers, 652
named buffer objects
deleting, 861
generating names, 900
querying names, 985
OpenGL ES 2.0, 749–750
parameters, returning, 931–932
PBOs (pixel buffer objects)
benefits of, 603–604
motion blur sample program, 604–608
overview, 601–602
selection buffer, 461–463, 1070–1071
single-buffered rendering, 117–119
stencil buffer, 121–126
clearing, 813
vertex buffer objects
binding, 450
creating, 450
initializing arrays, 452–453
loading, 451
mixing static and dynamic data, 453–454
overview, 450
rendering from, 451–455
built-in variables, 536–537
bvec2 data type, 533
bvec3 data type, 533
bvec4 data type, 533
byte coordinates (ES 1.0), 741
C calling convention, 41
calculating
ambient light effects, 190–191
diffuse light effects, 191
fog equations, 242–244
normal vectors, 202–203
specular light effects, 191
callback functions, tessellator callbacks, 412–413
calling functions (GLSL), 543
camera transformations, 164–165
campfire graphics
campfire bitmap program (BITMAPS), 253–255
glBitmap function, 257
glRasterPos2i function, 256
glWindowPos2i function, 256
RenderScene function, 255
campfire pixmap program (IMAGELOAD)
gltLoadTGA function, 262–265
RenderScene function, 261–262
canvases. See viewing volumes
capturing display, 707
Carbon
bitmap fonts, 697
CARBONGLFONTS sample program, 698
setting up, 697–698
Carbon window, initializing, 690–691
cleanup, 695
event handling, 695–696
OpenGL setup, 689–690
overview, 689
pixel format, 692–693
rendering context, 694–695
CARBONGLFONTS program, 698
Cartesian coordinates
2D Cartesian coordinates, 24
3D Cartesian coordinates, 27
cartoons with texture, 321–325
cathode ray tube (CRT), 10, 176
cell-shading (toon-shading), 321–325
centroid varying qualifier, 535
CGA (Color Graphics Adapter) cards, 178
CGDisplayBestModeForParameters function, 707
CGDisplayCapture function, 707
CGDisplayPixelsHigh function, 707
CGDisplayPixelsWide function, 707
CGDisplaySwitchToMode function, 707
CGL, 686
CGMainDisplayID function, 707
CGReleaseAllDisplays function, 707
ChangeDisplaySettings function, 675
ChangeSize function, 58, 75, 394, 499, 696, 711
changing display modes, 707
checkerboard texture fragment shader, 589–591
checking for extensions, 69–71
ChoosePixelFormat function, 653–654
Clarke, Arthur C., 173
classes
CTriangleMesh, 448
CVBOMesh, 454
GLFrame, 162–164
ThunderGLView, 701–705
cleanup
Carbon, 695
OpenGL ES applications, 771–772
clearing
buffers, 810–811
accumulation buffers, 811–812
color index buffers, 813
depth buffers, 812–813
stencil buffers, 813
windows, 51–52
client-side capability, enabling/disabling, 884–885
clients, pushing attributes onto attribute stack, 1052
clipped viewing volumes, defining, 59–60
clipping
clipping planes
specifying, 814–815
returning coefficients of, 934
clipping regions, 25
fixed vertex processing, 519–520
overview, 524
clockwise windings, 95
Cocoa
COCOAGL program, 699–700
buffer swaps, 705–706
OpenGL views, creating, 700–701
ThunderGLView class, 701–705
overview, 699
source module, 688
COCOAGL program, 699–700
buffer swaps, 705–706
OpenGL views, creating, 700–701
ThunderGLView class, 701–705
code, indenting, 78
collecting
histogram data, 298–300
minmax data, 301
color
accumulation buffers, 244–248
alpha testing, 249
array of colors, defining, 819–820
blending, 229
antialiasing, 234–238
blending equation, 230, 234, 798–799
destination color, 230
enabling, 230
glBlendColor function, 234
glBlendEquation function, 234
glBlendFunc function, 230–232
glBlendFuncSeparate function, 234
multisampling, 238–240
overview, 18
pixel arithmetic, 801, 803–806
REFLECTION sample program, 232–233
setting blend color, 798
source color, 230
clearing, 812
loading convolution kernels from, 295
loading textures from, 307
color depth, 179–180
color index
defining array of, 982–983
logical pixel operation, 1002–1003
setting, 980–981
color index buffers
clearing, 813
controlling writing to, 981–982
color masking, 248
color matrix, 288–289
color sum, 520
color tables
bias values, 291
color lookup, 289–290
copying pixels into, 843–845
defining, 821–824
proxies, 290–291
rendering, 291
replacing, 291–292
respecifying portion of, 820–821, 843
retrieving contents of, 934–935
scaling factors, 291
color tracking, 194
composite colors, 52
computer monitors and, 176–177
converting
color inversion fragment shader, 570–571
grayscale conversion fragment shader, 568–569
sepia-tone conversion fragment shader, 569–570
depth buffers, clearing, 812–813
display modes, 179–180
dithering, 250
drawing colors, setting, 182–183
fog
creating, 240–241
enabling/disabling, 241
fog equations, 242–244
fog parameters, 894–895
glFog function, 242
graphics cards, 177–179
heat signature effect, 571–572
light particles, 175
light sources
direction, specifying, 197
material properties, 205
normal averaging, 211–213
overview, 196
polygons, specifying, 205–206
setting up, 203–205
surface normals, 197–200
unit normals, 201–203
light wavelengths, 174
lighting conditions
adding to materials, 190
ambient light, 187–196
Cosmic Background Radiation (global ambient light), 192–193
enabling lighting, 192
material properties, 190, 193–196, 205
normal averaging, 211–213
RGBA values, 189
SHINYJET sample program, 210–211
specular exponent, 209–210
specular highlights, 207
specular reflectance, 208–209
SPOT sample program, 213–220
logical operations, 248–249
OpenGL ES specifications, 740
perception by eye, 176
polygon colors, setting, 101–102, 182–183
RGB colorspace, 180–181
secondary colors
defining array of, 1069–1070
setting, 1067–1069
specular color, 341–344
setting, 815–817
shading
definition of, 183
flat shading, 186
smooth shading, 183–185
shadows
ambient lighting, 500–501
definition of, 222
depth buffer, 497–498
depth textures, 498–500
FBO shadow mapping, 613–615
GL_ARB_shadow_ambient extension, 509
modelview matrix, 496
polygon offset, 510
projection matrix, 496–497
shadow maps, 501–509
shadow projection matrix, 223–225
SHADOW sample program, 223–226
SPHEREWORLD sample program, 227
spotlights
creating, 214–216
drawing, 216–220
stencil buffers, clearing, 813
clearing, 812
loading convolution kernels from, 295
loading textures from, 307
Color Graphics Adapter (CGA) cards, 178
color index
defining array of, 982–983
logical pixel operation, 1002–1003
setting, 980–981
color index buffers
clearing, 813
controlling writing to, 981–982
color inversion fragment shader, 570–571
color masking, 248
color matrix, 288–289
color space (RGB), 180–181
color tables
bias values, 291
color lookup, 289–290
copying pixels into, 843–845
defining, 821–824
proxies, 290–291
rendering, 291
replacing, 291–292
respecifying portion of, 820–821, 843
retrieving contents of, 934–935
scaling factors, 291
column-major matrix ordering, 154–155
combining
textures with texture combiners, 369–371
transformations, 160–161
commands
compiling, 424
comparision functions (alpha testing), 249
commands, 424
component selectors, 540–541
composite colors, 52
compressed paletted texture (ES 1.0), 742
compressed textures
loading, 349–350
returning, 937–938
compressing textures, 347–349
cone cells (eyes), 176
config management
GLX 1.2, 722–723
GLX 1.3+, 719–721
configuring OpenGL on Linux
GLUT, 716–717
glxinfo command, 714
hardware drivers, 715
Mesa installation, 715
OpenGL programs, building, 716–717
X Server, 715–716
conformance, 35–36
const qualifier, 535
constructors, 538–540
context management
EGL, 763–764
GLX
GLX 1.2, 726
GLX 1.3+, 724–726
continuity of Bézier curves, 390–391
control points (Bézier curves), 390
conventions used in book, 5
converting
colors
color inversion fragment shader, 570–571
grayscale conversion fragment shader, 568–569
sepia-tone conversion fragment shader, 569–570
display lists, 426–428
convex polygons, 114
convolutions
applying, 293
border modes, 296–297
combining with other imaging operations, 293–294
definition of, 292
kernels, 292
loading from color buffer, 295
one-dimensional filters, 296
copying pixels into, 845–846
defining, 836–838
returning, 938–940
separable filters, 296, 959–960
separable two-dimensional filters, 1072–1074
two-dimensional filters
copying pixels into, 846–848
defining, 839–841
coordinate clipping, 25–26
coordinate generation parameters (textures), returning, 966–967
coordinate systems
2D Cartesian coordinates, 24
3D Cartesian coordinates, 27
coordinate clipping, 25–26
eye coordinates, 129
overview, 24
texture coordinate generation, 350–354
cube mapping, 357–361
disabling, 350
enabling, 350
eye linear mapping, 355–356
object linear mapping, 354
sphere mapping, 356–357
TEXGEN sample program, 351–354
texture coordinates, 308–310
arrays of coordinates, 1085–1087
controlling generation of, 1091–1093
vertices, 27
viewports, 26–27
copying
pixels, 265
into 1D texture image, 850–852
into 2D texture image, 852–854
into color table, 843–845
in frame buffer, 848–850
into one-dimensional convolution filters, 845–846
into two-dimensional convolution filters, 846–848
texture subimages
one-dimensional, 854–855
three-dimensional, 857–858
two-dimensional, 855–857
core additions
ES 1.0
OES_byte_coordinates, 741
OES_compressed_paletted_textures, 742
OES_fixed_point, 741
OES_query_matrix, 742
OES_read_format, 742
OES_single_precision_commands, 742
OES_draw_texture, 745
OES_matrix_get, 745
OES_matrix_palette, 744
OES_point_sprite, 745
ES 2.0
OES_compressed_ETC1_RGB8_texture, 750
OES_element_index_uint, 750
OES_fbo_render_mipmap, 749
OES_fragment_precision_high, 750
OES_framebuffer_object, 749
OES_mapbuffer, 750
OES_shader_binary, 751–752
OES_shader_source, 751
OES_stencil8, 749
OES_texture_3D, 750
OES_texture_float, 750
OES_texture_half_float, 750
OES_texture_npot, 750
OES_vertex_half_float, 749
ES SC, 754
Cosmic Background Radiation (global ambient light), 192–193
counterclockwise windings, 95
CreateWindow function, 657, 659, 672
CRT (cathode ray tube), 10, 176
CTriangleMesh class, 448
cube mapping, 357–361
creating mirrored surface effect with, 360–361
loading cube maps, 358–360
CUBEDX program, 436–439
CUBEMAP program, 358–362
cubic curves, 390
culling, backface, 104–106, 860
curves
approximating with straight lines, 88–89
Bézier
2D curves, 391–396
3D Bézier surfaces, 397–400
breakpoints, 390
continuity, 390–391
control points, 390
cubic curves, 390
degree of, 390
evaluating, 396–397
lighting and normal vectors, 400–401
order of, 390
overview, 388
parametric equation, 388–389
piecewise curves, 390
quadratic curves, 390
NURBS, 409
CVBOMesh class, 454
cylinders, drawing, 382
data store (buffer)
creating and initializing, 806–807
mapping, 1009–1010
returning pointers to, 932–933
returning subset of, 933
updating subset of, 807–808
data types, 532–533
AGLPixelFormat, 692
corresponding C/C++ data types, 44–45
for pixel data, 306–307
of vertex arrays, 434
overview, 45
pixel data, 259–260
declaring
arrays, 534
functions (GLSL), 542–543
NURBS surfaces, 404–406
structures, 534
Deep Exploration, 440
degree of Bézier curves, 390
deleting
buffer objects, 861
Cocoa source module, 688
rendering contexts, 660–663
delimiting
queries, 791–792
vertices of primitives, 789–791
dependent texture lookups, 572
enabling/disabling, 865
depth of color, 179–180
depth testing, 103
depth textures
overview, 498–499
size, 499–500
DescribePixelFormat function, 650–651
destination color, 230
destroying FBOs (framebuffer objects), 609–610
detaching
program objects from shaders, 530
shaders, 866–867
GDI device contexts, 646
GLRECT program, 657–660
diffuse light
calculating light effects, 191
diffuse lighting fragment shader, 582–584
diffuse lighting vertex shader, 549, 551
overview, 188
dilating images, 578–579
dilation fragment shader, 578–579
direction of light sources, specifying, 197
disabling
alpha testing, 249
client-side capability, 884–885
depth buffer, 865
fog, 241
multisampling, 239
scissor test, 120
state variables, 65–66
texture coordinate generation, 350
vertex attribute arrays, 886
discard keyword (GLSL), 542
disks, drawing, 384–385
display callback functions, 51
display configs (EGL), 759–763
display lists
batch processing, 423–424
converting to, 426–428
generating, 900–901
immediate mode rendering, 423
limitations of, 426
naming, 425
overview, 422–423
preprocessed batches, 424–426
querying, 988–989
display modes
color depth, 179–180
double-buffered, 50
overview, 179
screen resolution, 179
single-buffered, 50
displays
EGL, 758–759
GLX, 718
dithering, 250
double buffering, 64–65
double-buffered rendering, 117
double-buffered windows, 50
draw buffers, 611
Draw method
CTriangleMesh class, 448
CVBOMesh class, 454
DrawBody function, 440
DrawGeometry function, 246
DrawGround function, 166–168
drawing
buffers
buffer targets, 117–119
color buffers, 117
depth buffer, 119
double-buffered rendering, 117
overview, 117
single-buffered rendering, 117–119
stencil buffer, 121–126
color, setting, 182–183
general polygons, 108–109
lines
curves, approximating with straight lines, 88–89
glBegin function, 85
glEnd function, 85
line loops, 87–88
line strips, 87–89
line width, 89–91
LINES program example, 85–87
stippling, 91–93
pixmaps, 258
points
glBegin function, 78
glEnd function, 78
glVertex function, 76–77
overview, 74
point parameters, 85
point size, 81–85
POINTS program example, 78, 80
POINTSZ program example, 82–85
quad strips, 108
scaling drawings to window, 56
solid objects
backface culling, 104–106
depth testing, 103
edge flags, 114–116
hidden surface removal, 102–103
polygon construction rules, 113–114
polygon modes, 107
shading, 183–186
stippling, 109–113
TRIANGLE program example, 98–101
overview, 94
simple example, 94–95
triangle fans, 97–98
triangle strips, 96–97
viewing volume, 74–76
DrawModels function, 487
DrawObjects function, 474
DrawOccluder function, 482
DrawPoints function, 392–394
DrawThunderBird function, 446–447
DrawTorus function, 158
drivers, 715
extended OpenGL, 644–645
ICD (Installable Client Driver), 642–643
Mini-Client Driver (MCD), 643
mini-drivers, 643–644
OpenGL on Vista, 644
earth/sun/moon program, 151–154
edge detection fragment shader, 580–582
edges of polygons, 114–116
effects
fog
creating, 240–241
enabling/disabling, 241
fog coordinates, 244
fog equations, 242–244
glFog function, 242
lighting effects
normal averaging, 211–213
overview, 207
SHINYJET sample program, 210–211
specular exponent, 209–210
specular highlights, 207
specular light, 208
specular reflectance, 208–209
mirrored surface effect, 360–361
EGA (Enhanced Graphics Adapter) cards, 178
EGL
buffers, 764–765
context management, 763–764
display configs, 759–763
displays, 758–759
embedded system diagram, 758
errors, 765
extending, 765–766
initializing, 758
overview, 757
rendering surfaces, 763
rendering synchronization, 764–765
strings, 765
EGL_ALPHA_MASK_SIZE config attribute, 760
EGL_ALPHA_SIZE config attribute, 760
EGL_BIND_TO_TEXTURE_RGB config attribute, 760
EGL_BIND_TO_TEXTURE_RGBA config attribute, 760
EGL_BLUE_SIZE config attribute, 760
EGL_BUFFER SIZE config attribute, 760
EGL_COLOR_BUFFER_TYPE config attribute, 760
EGL_CONFIG_CAVEAT config attribute, 760
EGL_CONFIG_ID config attribute, 760
EGL_DEPTH_SIZE config attribute, 760
EGL_GREEN_SIZE config attribute, 760
EGL_LEVEL config attribute, 760
EGL_LUMINANCE_SIZE config attribute, 760
EGL_MAX_PBUFFER_HEIGHT config attribute, 761
EGL_MAX_PBUFFER_PIXELS config attribute, 761
EGL_MAX_PBUFFER_WIDTH config attribute, 761
EGL_MAX_SWAP_INTERVAL config attribute, 760
EGL_MIN_SWAP_INTERVAL config attribute, 760
EGL_NATIVE_RENDERABLE config attribute, 760
EGL_NATIVE_VISUAL_ID config attribute, 760
EGL_NATIVE_VISUAL_TYPE config attribute, 760
EGL_RED_SIZE config attribute, 760
EGL_RENDERABLE_TYPE config attribute, 760
EGL_SAMPLES config attribute, 760
EGL_SAMPLE_BUFFERS config attribute, 760
EGL_STENCIL_SIZE config attribute, 760
EGL_SURFACE_TYPE config attribute, 760
EGL_TRANSPARENT_BLUE_VALUE config attribute, 761
EGL_TRANSPARENT_GREEN_VALUE config attribute, 761
EGL_TRANSPARENT_RED_VALUE config attribute, 760
EGL_TRANSPARENT_TYPE config attribute, 760
eglBindAPI function, 759
eglChooseConfig function, 761
eglCreateContext function, 763, 769
eglCreateWindowSurface function, 763, 768–769
eglDestroyContext function, 764, 772
eglDestroySurface function, 763
eglGetConfigAttrib function, 762
eglGetConfigs function, 763
eglGetDisplay function, 758
eglGetError function, 765
eglGetProcAddress function, 766
eglInitialize function, 758, 768
eglMakeCurrent function, 764, 769–771
eglQueryString function, 765
eglReleaseThread function, 759
eglSwapBuffers function, 764, 771
eglSwapInterval function, 764
eglTerminate function, 759
eglWaitGL function, 765
eglWaitNative function, 765
Eliminate Surface Acne with Gradient Shadow Mapping, 510
embedded environments
embedded hardware, 766
operating systems, 766
vendor-specific extensions, 767
enabling
alpha testing, 249
antialiasing, 236
blending, 230
client-side capability, 884–885
color logical operations, 248
color tracking, 194
cube mapping, 359
depth buffer, 865
dithering, 250
fog, 241
histograms, 298
interleaved arrays, 984–985
minmax operations, 301
multisampling, 239
normalization, 201
point sprites, 372
polygon stippling, 109
program objects, 532
scissor test, 119–121
secondary specular color, 344
state variables, 65–66
stippling, 91
texture coordinate generation, 350
texture mapping, 316
EndMesh method, 452–453
EndPaint function, 665
Enhanced Graphics Adapter (EGA) cards, 178
enumerating pixel formats, 650–652
environment parameters (textures)
returning, 964–966
setting, 1087–1091
environments
embedded environments
embedded hardware, 766
operating systems, 766
vendor-specific extensions, 767
environment mapping, 615–618
texture, 316–318
equations
fog equations, 242–244
parametric equation for curves, 388–389
second-order exponential fog factor, 557
specular lighting, 551
Ericsson compressed texture format, 750
eroding images, 580
erosion fragment shader, 580
errors
EGL, 765
error codes, 68
error flags, displaying, 67–68
FBOs (framebuffer objects), 612–613
GL_STACK_OVERFLOW, 143
GL_STACK_UNDERFLOW, 143
glAccum function, 785
glActiveTexture function, 785
glAlphaFunc function, 786
glAreTexturesResident function, 787
glArrayElement function, 788
glAttachShader function, 789
glBegin function, 790
glBeginQuery function, 792
glBindAttribLocation function, 793
glBindBuffer function, 795
glBindTexture function, 796
glBitmap function, 797
glBlendColor function, 798
glBlendEquation function, 799
glBlendFunc function, 803
glBlendFuncSeparate function, 806
glBufferData function, 807
glBufferSubData function, 808
glCallLists function, 810
glClear function, 811
glClearAccum function, 812
glClearColor function, 812
glClearDepth function, 813
glClearIndex function, 813
glClearStencil function, 813
glClientActiveTexture function, 814
glClipPlane function, 815
glColorMask function, 818
glColorMaterial function, 818
glColorPointer function, 820
glColorSubTable function, 821
glColorTable function, 824
glColorTableParameter function, 825
glCompileShader function, 825
glCompressedTexImage1D function, 827
glCompressedTexImage2D function, 829
glCompressedTexImage3D function, 831
glCompressedTexSubImage1D function, 832
glCompressedTexSubImage2D function, 834
glCompressedTexSubImage3D function, 836
glConvolutionFilter1D function, 838
glConvolutionFilter2D function, 840
glConvolutionParameter function, 842
glCopyColorSubTable function, 843
glCopyColorTable function, 844
glCopyConvolutionFilter1D function, 846
glCopyConvolutionFilter2D function, 848
glCopyPixels function, 850
glCopyTexImage1D function, 852
glCopyTexImage2D function, 854
glCopyTexSubImage1D function, 855
glCreateShader function, 860
glCullFace function, 860
glDeleteBuffers function, 861
glDeleteLists function, 861
glDeleteProgram function, 862
glDeleteQueries function, 863
glDeleteShader function, 863
glDeleteTextures function, 864
glDepthFunc function, 865
glDepthMask function, 865
glDepthRange function, 866
glDetachShader function, 866
glDrawArrays function, 867
glDrawBuffer function, 869
glDrawBuffers function, 870
glDrawElements function, 871
glDrawPixels function, 876
glDrawRangeElements function, 877
glEdgeFlagPointer function, 879
glEnable function, 884
glEnableClientState function, 885
glEnableVertexAttribArray function, 886
glEvalMesh function, 890
glFeedbackBuffer function, 893
glFinish function, 893
glFlush function, 894
glFog function, 895
glFogCoordPointer function, 897
glFrontFace function, 898
glFrustum function, 899
glGenBuffers function, 900
glGenLists function, 901
glGenTextures function, 902
glGet function, 926
glGetActiveAttrib function, 927
glGetActiveUniform function, 929
glGetAttachedShaders function, 930
glGetAttribLocation function, 931
glGetBufferParameteriv function, 932
glGetBufferPointerv function, 932
glGetBufferSubData function, 933
glGetClipPlane function, 934
glGetColorTable function, 935
glGetColorTableParameter function, 937
glGetCompressedTexImage function, 938
glGetConvolutionFilter function, 939–940
glGetConvolutionParameter function, 941
glGetError function, 942
glGetHistogram function, 943
glGetHistogramParameter function, 944
glGetLight function, 946
glGetMap function, 947
glGetMaterial function, 949
glGetMinmax function, 950
glGetMinmaxParameter function, 951
glGetPixelMap function, 952
glGetPointerv function, 953
glGetPolygonStipple function, 954
glGetProgramInfoLog function, 956
glGetProgramiv function, 955
glGetQueryiv function, 957
glGetQueryObject function, 958
glGetSeparableFilter function, 960
glGetShaderInfoLog function, 962
glGetShaderiv function, 961
glGetString function, 964
glGetTexEnv function, 966
glGetTexImage function, 969
glGetTexLevelParameter function, 971
glGetTexParameter function, 973
glGetUniform function, 974
glGetUniformLocation function, 975
glGetVertexAttrib function, 977
glGetVertexAttributePointerv function, 978
glHint function, 979
glHistogram function, 980
glIndexMask function, 982
glIndexPointer function, 983
glInitNames function, 983
glInterleavedArrays function, 984
glIsBuffer function, 985
glIsEnabled function, 988
glIsList function, 988
glIsProgram function, 989
glIsQuery function, 989
glIsShader function, 990
glIsTexture function, 991
glLight function, 993
glLightModel function, 995
glLineStipple function, 996
glLineWidth function, 997
glLinkProgram function, 998
glListBase function, 999
glLoadIdentity function, 999
glLoadMatrix function, 1000
glLoadName function, 1001
glLoadTransposeMatrix function, 1002
glLogicOp function, 1003
glMap1 function, 1005
glMap2 function, 1008
glMapBuffer function, 1010
glMapGrid function, 1012
glMaterial function, 1014
glMatrixMode function, 1014
glMinmax function, 1015
glMultiDrawArrays function, 1016
glMultiDrawElements function, 1018
glMultMatrix function, 1021
glMultTransposeMatrix function, 1022
glNewList function, 1024
glOrtho function, 1027
glPassThrough function, 1028
glPixelMap function, 1030
glPixelStore function, 1035
glPixelTransfer function, 1039
glPixelZoom function, 1040
glPointParameter function, 1041
glPointSize function, 1043
glPolygonMode function, 1044
glPolygonOffset function, 1045
glPolygonStipple function, 1046
glPrioritizeTextures function, 1047
glPushAttrib function, 1051
glPushClientAttrib function, 1052
glPushMatrix function, 1053
glPushName function, 1054
glRasterPos function, 1056
glReadBuffer function, 1057
glReadPixels function, 1060
glRect function, 1062
glRenderMode function, 1063
glResetHistogram function, 1063
glResetMinmax function, 1064
glRotate function, 1065
glSampleCoverage function, 1065
glScale function, 1066
glScissor function, 1067
glSecondaryColorPointer function, 1070
glSelectBuffer function, 1071
glSeparableFilter2D function, 1073–1074
glShaderSource function, 1076
glStencilFunc function, 1077
glStencilFuncSeparate function, 1079
glStencilMask function, 1079
glStencilMaskSeparate function, 1080
glStencilOp function, 1082
glStencilOpSeparate function, 1083
glTexCoordPointer function, 1086
glTexEnv function, 1091
glTexGen function, 1093
glTexImage1D function, 1098–1099
glTexImage2D function, 1104
glTexImage3D function, 1109–1110
glTexSubImage1D function, 1116
glTexSubImage2D function, 1118–1119
glTexSubImage3D function, 1120–1121
glTranslate function, 1122
glUniform function, 1125–1126
glUseProgram function, 1127
glValidateProgram function, 1129
glVertexAttrib function, 1134
glVertexAttribPointer function, 1135
glVertexPointer function, 1136
glViewport function, 1137
glWindowPos function, 1139
returning information about, 941–942
overview, 67
ES. See OpenGL ES
Essential Mathematics for Games and Interactive Applications, 757
Euler angles, 163–164
evaluating Bézier curves, 396–397
evaluators
definition of, 391
glMap1f, 395
glMap2f, 399
one-dimensional evaluators, defining, 1003–1005
parameters, returning, 946–947
two-dimensional evaluators, defining, 1006–1009
event handling (Carbon), 695–696
event-driven programming, 660
executing display lists, 425–426
expressions
array access, 538
component selectors, 540–541
constructors, 538–540
operators, 537–538
EXT_prefix, 71
extended OpenGL, 644–645
extending
EGL, 765–766
GLX, 729
extensions
checking for, 69–71
ES 1.0
OES_byte_coordinates, 741
OES_compressed_paletted_textures, 742
OES_fixed_point, 741
OES_query_matrix, 742
OES_read_format, 742
OES_single_precision_commands, 742
ES 1.1
OES_matrix_get, 745
OES_matrix_palette, 744
OES_point_sprite, 745
ES 2.0
OES_compressed_ETC1_RGB8_texture, 750
OES_element_index_uint, 750
OES_fbo_render_mipmap, 749
OES_fragment_precision_high, 750
OES_framebuffer_object, 749
OES_mapbuffer, 750
OES_shader_binary, 751–752
OES_shader_source, 751
OES_stencil8, 749
OES_texture_3D, 750
OES_texture_float, 750
OES_texture_half_float, 750
OES_texture_npot, 750
OES_vertex_half_float, 749
ES SC, 754
overview, 69
prefix identifiers, 71
WGL. See WGL extensions
eye coordinates, 129
eye linear mapping, 355–356
eyes, perception of color, 176
F-16 Thunderbird model. See THUNDERGL program
Fahrenheit, 36–37
FBOs (framebuffer objects)
attaching images, 610–611
color components, enabling/disabling, 817–818
copying pixels in, 848–850
creating, 609–610
destroying, 609–610
draw buffers, 611
environment map generation sample program, 615–618
framebuffer completeness, 612–613
mipmap generation, 613
multiple target rendering, 619–621
offscreen rendering, 613–615
OpenGL ES specifications
ES 1.0, 741
ES 2.0, 749
reading pixels from, 1057–1060
shadow mapping sample program, 613–615
writing block of pixels to, 871–876
feedback
feedback buffer
glFeedbackBuffer function, 471
loading and parsing, 478–480
placing markers in, 1028
types, 471
feedback data, 472
labeling objects for, 473–475
passthrough markers, 473
SELECT sample program
labeling objects for feedback, 473–475
loading and parsing feedback buffer, 478–480
selecting objects, 476–477
feedback buffer
glFeedbackBuffer function, 471
loading and parsing, 478–480
placing markers in, 1028
types, 471
feedback mode, 891–893
files
gl.h, 42
glee.h, 43
gltools.cpp, 43
gltools.h, 42–43
glu.h, 42
glut.h, 43
OpenEXR format, 623–626
targa files
loading, 262–265
writing to, 266–268
filters
anisotropic texture filtering, 344–346
convolution filters. See convolutions
definition of, 16
isotropic texture filtering, 345
mipmap filters, 327–328
percentage-closer filtering, 506
textures, 318–319
finding normal vectors, 202–203
fixed functionality
antialiasing application, 521
clipping, 519–520
color sum, 520
fixed functionality rendering pipeline, 515
fog application, 521
lighting, 518
overview, 516
texture application and environment, 520
texture coordinate generation and transformation, 519
vertex transformation, 518
fixed-point data type (ES 1.0), 741
fixed-point math, 756–757
flagging edges, 878–879
flat shading, 186
float data type, 533
floating-point textures
High Dynamic Range (HDR), 622–623
OpenEXR file format, 623–626
OpenGL ES specifications, 750
overview, 622
tone mapping, 626–630
FLORIDA program, 414–419
complex polygon, tessellating, 417–418
convex polygon, drawing, 415–416
vertex data and drawing code for state outline, 414–415
flow control (GLSL)
discard keyword, 542
functions
calling, 543
declaring, 542–543
function name overloading, 543
main, 542
texture lookup functions, 544–545
if/else clauses, 542
loops, 541
flushing
buffer, 423–424
queue, 53
fog
creating, 240–241
enabling/disabling, 241
fixed fragment processing, 521
fog equations, 242–244
fog fragment shader, 572–574
fog parameters, 894–895
fog vertex shader, 557–559
glFog function, 242
overview, 17
second-order exponential fog factor, 557
font.c program, 728–729
fonts
bitmap fonts, 697–698
Windows fonts
3D fonts and text, 666–668
overview, 666
X fonts, 728–729
forcing command execution, 893–894
fragment operations (OpenGL ES)
ES 2.0, 748
ES SC, 753
fragment shaders
beach ball texture fragment shader, 592–595
blur fragment shader, 575–576
capabilities of, 525–526
checkerboard texture fragment shader, 589–591
color inversion fragment shader, 570–571
diffuse lighting fragment shader, 582–584
dilation fragment shader, 578–579
edge detection fragment shader, 580–582
erosion fragment shader, 580
fog fragment shader, 572–574
grayscale conversion fragment shader, 568–569
heat signature fragment shader, 571–572
overview, 567–568
sepia-tone conversion fragment shader, 569–570
sharpen fragment shader, 577–578
simple example, 527
three colored lights fragment shader, 586–587
toy ball texture fragment shader, 595–599
framebuffer objects. See FBOs
frameless windows, creating, 672
frames, 423
actor frames, 161–163
GLFrame class, 162–164
freeglut, 47. See also GLUT
front-facing polygons, defining, 898
frustums, 30, 148–149, 898–899
Mac OS X
AGL full-screen support, 708–711
display management, 706–707
overview, 706
Windows, 671
frameless windows, creating, 672
full-screen windows, creating, 672–675
full-screen windows, creating, 672–675
functions, 542–545. See also specific functions
calling, 543
declaring, 542–543
evaluators, 391
main, 542
naming conventions, 45–46
name overloading, 543
texture lookup functions, 544–545
future of OpenGL, 37
Gaussian blur, 634–636
GDI (graphics device interface), 38
GDI device contexts, 646
generating
buffer names, 900
display lists, 900–901
mip levels, 328–329
query names, 901
texture coordinates, 350–354
cube mapping, 357–361
disabling, 350
enabling, 350
eye linear mapping, 355–356
object linear mapping, 354
sphere mapping, 356–357
TEXGEN sample program, 351–354
texture names, 902
generic implementations, 38–39, 642
geometric primitives. See primitives, drawing
geometric transformations. See transformations
geometry throughput
display lists
batch processing, 423–424
converting to, 426–428
creating, 425
deleting, 425
executing, 425–426
immediate mode rendering, 423
limitations of, 426
naming, 425
overview, 422–423
preprocessed batches, 424–426
overview, 421–422
vertex arrays
enabling, 432–433
indexed vertex arrays, 435–449
loading geometry, 432
overview, 428–429
pointer functions, 433–434
rendering with, 434–435
sizes and data types, 434
STARRYNIGHT sample program, 429–431
texture, 434
vertex buffer objects
binding, 450
creating, 450
initializing arrays, 452–453
loading, 451
mixing static and dynamic data, 453–454
overview, 450
rendering from, 451–455
GetDC function, 657–658
GetDeviceCaps function, 673
GetMatrix function, 162–163
GetWindowPortBounds function, 696
GL Easy Extension (GLEE) library, 679
gl.h file, 42
GL_ACCUM_ALPHA_BITS constant (glGet function), 903
GL_ACCUM_BLUE_BITS constant (glGet function), 903
GL_ACCUM_CLEAR_VALUE constant (glGet function), 903
GL_ACCUM_GREEN_BITS constant (glGet function), 903
GL_ACCUM_RED_BITS constant (glGet function), 903
GL_ACTIVE_TEXTURE constant (glGet function), 903
GL_ADD texture environment mode, 317, 370
GL_ADD_SIGNED constant, 370
GL_ALIASED_LINE_WIDTH_RANGE constant (glGet function), 903
GL_ALIASED_POINT_SIZE_RANGE constant (glGet function), 903
GL_ALPHA pixel format, 259
GL_ALPHA_BIAS constant (glGet function), 903
GL_ALPHA_BITS constant (glGet function), 903
GL_ALPHA_SCALE constant (glGet function), 903
GL_ALPHA_TEST constant (glGet function), 903
GL_ALPHA_TEST_FUNC constant (glGet function), 903
GL_ALPHA_TEST_REF constant (glGet function), 904
GL_AMBIENT parameter
glGetLight function, 945
glLight function, 992
glMaterial function, 1013
GL_AMBIENT_AND_DIFFUSE parameter (glMaterial function), 1013
GL_ARB_color_buffer_float extension. See floating-point textures
GL_ARB_shadow_ambient extension, 509
GL_ARRAY_BUFFER_BINDING constant (glGet function), 904
GL_ATTRIB_STACK_DEPTH constant (glGet function), 904
GL_AUTO_NORMAL constant (glGet function), 904
GL_AUX_BUFFERS constant (glGet function), 904
gl_BackColor built-in variable, 537
gl_BackSecondaryColor built-in variable, 537
GL_BGR pixel format, 259
GL_BGRA pixel format, 259
GL_BLEND constant (glGet function), 904
GL_BLEND texture environment mode, 317
GL_BLEND_COLOR constant (glGet function), 904
GL_BLEND_DST_ALPHA constant (glGet function), 904
GL_BLEND_DST_RGB constant (glGet function), 904
GL_BLEND_EQUATION_ALPHA constant (glGet function), 904
GL_BLEND_EQUATION_RGB constant (glGet function), 904
GL_BLEND_SRC_ALPHA constant (glGet function), 904
GL_BLEND_SRC_RGB constant (glGet function), 904
GL_BLUE pixel format, 259
GL_BLUE_BIAS constant (glGet function), 904
GL_BLUE_BITS constant (glGet function), 904
GL_BLUE_SCALE constant (glGet function), 904
GL_CLAMP wrap mode, 321
GL_CLAMP_TO_BORDER wrap mode, 321
GL_CLAMP_TO_EDGE wrap mode, 321
GL_CLIENT_ACTIVE_TEXTURE constant (glGet function), 905
GL_CLIENT_ATTRIB_STACK_DEPTH constant (glGet function), 905
GL_CLIP_PLANEi constant (glGet function), 905
gl_ClipVertex built-in variable, 536
gl_Color built-in variable, 536–537
GL_COLOR_ARRAY constant (glGet function), 905
GL_COLOR_ARRAY_BUFFER_BINDING constant (glGet function), 905
GL_COLOR_ARRAY_SIZE constant (glGet function), 905
GL_COLOR_ARRAY_STRIDE constant (glGet function), 905
GL_COLOR_ARRAY_TYPE constant (glGet function), 905
GL_COLOR_CLEAR_VALUE constant (glGet function), 905
GL_COLOR_INDEXES parameter (glMaterial function), 1013
GL_COLOR_LOGIC_OP constant (glGet function), 905
GL_COLOR_MATERIAL constant (glGet function), 905
GL_COLOR_MATERIAL_FACE constant (glGet function), 905
GL_COLOR_MATERIAL_PARAMETER constant (glGet function), 905
GL_COLOR_MATRIX constant (glGet function), 905
GL_COLOR_MATRIX_STACK_DEPTH constant (glGet function), 905
GL_COLOR_SUM constant (glGet function), 905
GL_COLOR_TABLE constant (glGet function), 906
GL_COLOR_WRITEMASK constant (glGet function), 906
GL_COMPRESSED_TEXTURE_FORMATS constant (glGet function), 906
GL_CONSTANT constant, 370
GL_CONSTANT_ATTENUATION parameter
glGetLight function, 946
glLight function, 993
GL_CONVOLUTION_1D constant (glGet function), 906
GL_CONVOLUTION_2D constant (glGet function), 906
GL_CULL_FACE constant (glGet function), 906
GL_CULL_FACE_MODE constant (glGet function), 906
GL_CURRENT_COLOR constant (glGet function), 906
GL_CURRENT_FOG_COORD constant (glGet function), 906
GL_CURRENT_INDEX constant (glGet function), 906
GL_CURRENT_NORMAL constant (glGet function), 906
GL_CURRENT_PROGRAM constant (glGet function), 906
GL_CURRENT_RASTER_COLOR constant (glGet function), 906
GL_CURRENT_RASTER_DISTANCE constant (glGet function), 906
GL_CURRENT_RASTER_INDEX constant (glGet function), 906
GL_CURRENT_RASTER_POSITION constant (glGet function), 906
GL_CURRENT_RASTER_POSITION_VALID constant (glGet function), 907
GL_CURRENT_RASTER_SECONDARY_COLOR constant (glGet function), 907
GL_CURRENT_RASTER_TEXTURE_COORDS constant (glGet function), 907
GL_CURRENT_SECONDARY_COLOR constant (glGet function), 907
GL_CURRENT_TEXTURE_COORDS constant (glGet function), 907
GL_DECAL texture environment mode, 317
GL_DEPTH_BIAS constant (glGet function), 907
GL_DEPTH_BITS constant (glGet function), 907
GL_DEPTH_CLEAR_VALUE constant (glGet function), 907
GL_DEPTH_COMPONENT pixel format, 259
GL_DEPTH_FUNC constant (glGet function), 907
GL_DEPTH_RANGE constant (glGet function), 907
GL_DEPTH_SCALE constant (glGet function), 907
GL_DEPTH_TEST constant (glGet function), 907
GL_DEPTH_WRITEMASK constant (glGet function), 907
GL_DIFFUSE parameter
glGetLight function, 945
glLight function, 992
glMaterial function, 1013
GL_DITHER constant (glGet function), 907
GL_DOT3_RGB constant, 370
GL_DOT3_RGBA constant, 370
GL_DOUBLEBUFFER constant (glGet function), 907
GL_DRAW_BUFFER constant (glGet function), 908
GL_DRAW_BUFFERi constant (glGet function), 908
GL_DYNAMIC_DRAW usage hint, 451
GL_EDGE_FLAG constant (glGet function), 908
GL_EDGE_FLAG_ARRAY constant (glGet function), 908
GL_EDGE_FLAG_ARRAY_BUFFER_BINDING constant (glGet function), 908
GL_EDGE_FLAG_ARRAY_STRIDE constant (glGet function), 908
GL_ELEMENT_ARRAY_BUFFER_BINDING constant (glGet function), 908
GL_EMISSION parameter (glMaterial function), 1013
GL_EXP fog mode, 242
GL_EXP2 fog mode, 242
GL_EXT_texture_compression_s3tc texture compression format, 349
GL_EYE_LINEAR texture generation mode, 355–356
GL_FEEDBACK rendering mode, 461
GL_FEEDBACK_BUFFER_SIZE constant (glGet function), 908
GL_FEEDBACK_BUFFER_TYPE constant (glGet function), 908
GL_FOG constant (glGet function), 908
GL_FOG_COLOR constant (glGet function), 909
GL_FOG_COORD_ARRAY constant (glGet function), 908
GL_FOG_COORD_ARRAY_BUFFER_BINDING constant (glGet function), 908
GL_FOG_COORD_ARRAY_STRIDE constant (glGet function), 908
GL_FOG_COORD_ARRAY_TYPE constant (glGet function), 908
GL_FOG_COORD_SRC constant (glGet function), 908
GL_FOG_DENSITY constant (glGet function), 909
GL_FOG_END constant (glGet function), 909
GL_FOG_HINT constant (glGet function), 909
GL_FOG_INDEX constant (glGet function), 909
GL_FOG_MODE constant (glGet function), 909
GL_FOG_START constant (glGet function), 909
gl_FogCoord built-in variable, 536
gl_FogFragCoord built-in variable, 537
gl_FragColor built-in variable, 537
gl_FragCoord built-in variable, 537
gl_FragData[ ] built-in variable, 537
gl_FragDepth built-in variable, 537
GL_FRAGMENT_SHADER_DERIVATIVE_HINT constant (glGet function), 909
GL_FRAMEBUFFER_COMPLETE_EXT error condition, 612
GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT error condition, 612
GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT error condition, 612
GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT error condition, 612
GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT error condition, 612
GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT error condition, 612
GL_FRAMEBUFFER_UNSUPPORTED_EXT error condition, 612
GL_FRONT_FACE constant (glGet function), 909
gl_FrontColor built-in variable, 536
gl_FrontFacing built-in variable, 537
gl_FrontSecondaryColor built-in variable, 537
GL_FUNC_ADD constant, 234
GL_FUNC_REVERSE_SUBTRACT constant, 234
GL_FUNC_SUBTRACT constant, 234
GL_GENERATE_MIPMAP_HINT constant (glGet function), 909
GL_GREEN pixel format, 259
GL_GREEN_BIAS constant (glGet function), 909
GL_GREEN_BITS constant (glGet function), 909
GL_GREEN_SCALE constant (glGet function), 909
GL_HISTOGRAM constant (glGet function), 909
GL_INDEX_ARRAY constant (glGet function), 909
GL_INDEX_ARRAY_BUFFER_BINDING constant (glGet function), 909
GL_INDEX_ARRAY_STRIDE constant (glGet function), 909
GL_INDEX_ARRAY_TYPE constant (glGet function), 910
GL_INDEX_BITS constant (glGet function), 910
GL_INDEX_CLEAR_VALUE constant (glGet function), 910
GL_INDEX_LOGIC_OP constant (glGet function), 910
GL_INDEX_MODE constant (glGet function), 910
GL_INDEX_OFFSET constant (glGet function), 910
GL_INDEX_SHIFT constant (glGet function), 910
GL_INDEX_WRITEMASK constant (glGet function), 910
GL_INTERPOLATE constant, 370
GL_INVALID_ENUM error code, 68
GL_INVALID_FRAMEBUFFER_OPERATION_EXT error condition, 613
GL_INVALID_OPERATION error code, 68
GL_INVALID_VALUE error code, 68
GL_LIGHT_MODEL_AMBIENT constant (glGet function), 910
GL_LIGHT_MODEL_COLOR_CONTROL constant (glGet function), 910
GL_LIGHT_MODEL_LOCAL_VIEWER constant (glGet function), 910
GL_LIGHT_MODEL_TWO_SIDE constant (glGet function), 910
GL_LIGHTi constant (glGet function), 910
GL_LIGHTING constant (glGet function), 910
GL_LINE_LOOP primitive, 87–88
GL_LINE_SMOOTH constant (glGet function), 910
GL_LINE_SMOOTH_HINT constant (glGet function), 910
GL_LINE_STIPPLE constant (glGet function), 910
GL_LINE_STIPPLE_PATTERN constant (glGet function), 911
GL_LINE_STIPPLE_REPEAT constant (glGet function), 911
GL_LINE_STRIP primitive, 87–89
GL_LINE_WIDTH constant (glGet function), 911
GL_LINE_WIDTH_GRANULARITY constant (glGet function), 911
GL_LINE_WIDTH_RANGE constant (glGet function), 911
GL_LINEAR_ATTENUATION parameter
glGetLight function, 946
glLight function, 993
GL_LINEAR_MIPMAP_LINEAR mipmap filter, 327
GL_LINEAR_MIPMAP_NEAREST mipmap filter, 327
GL_LINES primitive. See lines, drawing
GL_LIST_BASE constant (glGet function), 911
GL_LIST_INDEX constant (glGet function), 911
GL_LIST_MODE constant (glGet function), 911
GL_LOGIC_OP_MODE constant (glGet function), 911
GL_LUMINANCE pixel format, 259
GL_LUMINANCE_ALPHA pixel format, 259
GL_MAP_COLOR constant (glGet function), 912
GL_MAP_STENCIL constant (glGet function), 912
GL_MAP1_COLOR_4 constant (glGet function), 911
GL_MAP1_GRID_DOMAIN constant (glGet function), 911
GL_MAP1_GRID_SEGMENTS constant (glGet function), 911
GL_MAP1_INDEX constant (glGet function), 911
GL_MAP1_NORMAL constant (glGet function), 911
GL_MAP1_TEXTURE_COORD_1 constant (glGet function), 911
GL_MAP1_TEXTURE_COORD_2 constant (glGet function), 911
GL_MAP1_TEXTURE_COORD_3 constant (glGet function), 911
GL_MAP1_TEXTURE_COORD_4 constant (glGet function), 911
GL_MAP1_VERTEX_3 constant (glGet function), 912
GL_MAP1_VERTEX_4 constant (glGet function), 912
GL_MAP2_COLOR_4 constant (glGet function), 912
GL_MAP2_GRID_DOMAIN constant (glGet function), 912
GL_MAP2_GRID_SEGMENTS constant (glGet function), 912
GL_MAP2_INDEX constant (glGet function), 912
GL_MAP2_NORMAL constant (glGet function), 912
GL_MAP2_TEXTURE_COORD_1 constant (glGet function), 912
GL_MAP2_TEXTURE_COORD_2 constant (glGet function), 912
GL_MAP2_TEXTURE_COORD_3 constant (glGet function), 912
GL_MAP2_TEXTURE_COORD_4 constant (glGet function), 912
GL_MAP2_VERTEX_3 constant (glGet function), 912
GL_MAP2_VERTEX_4 constant (glGet function), 912
GL_MATRIX_MODE constant (glGet function), 912
GL_MAX blending mode, 234
GL_MAX_3D_TEXTURE_SIZE constant (glGet function), 912
GL_MAX_ATTRIB_STACK_DEPTH constant (glGet function), 913
GL_MAX_CLIENT_ATTRIB_STACK_DEPTH constant (glGet function), 913
GL_MAX_CLIP_PLANES constant (glGet function), 913
GL_MAX_COLOR_MATRIX_STACK_DEPTH constant (glGet function), 913
GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS constant (glGet function), 913
GL_MAX_CUBE_MAP_TEXTURE_SIZE constant (glGet function), 913
GL_MAX_DRAW_BUFFERS constant (glGet function), 913
GL_MAX_ELEMENTS_INDICES constant (glGet function), 913
GL_MAX_ELEMENTS_VERTICES constant (glGet function), 913
GL_MAX_EVAL_ORDER constant (glGet function), 913
GL_MAX_FRAGMENT_UNIFORM_COMPONENTS constant (glGet function), 913
GL_MAX_LIGHTS constant (glGet function), 913
GL_MAX_LIST_NESTING constant (glGet function), 913
GL_MAX_MODELVIEW_STACK_DEPTH constant (glGet function), 913
GL_MAX_NAME_STACK_DEPTH constant (glGet function), 913
GL_MAX_PIXEL_MAP_TABLE constant (glGet function), 913
GL_MAX_PROJECTION_STACK_DEPTH constant (glGet function), 914
GL_MAX_TEXTURE_COORDS constant (glGet function), 914
GL_MAX_TEXTURE_IMAGE_UNITS constant (glGet function), 914
GL_MAX_TEXTURE_LOD_BIAS constant (glGet function), 914
GL_MAX_TEXTURE_SIZE constant (glGet function), 914
GL_MAX_TEXTURE_STACK_DEPTH constant (glGet function), 914
GL_MAX_TEXTURE_UNITS constant (glGet function), 914
GL_MAX_VARYING_FLOATS constant (glGet function), 914
GL_MAX_VERTEX_ATTRIBS constant (glGet function), 914
GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS constant (glGet function), 914
GL_MAX_VERTEX_UNIFORM_COMPONENTS constant (glGet function), 914
GL_MAX_VIEWPORT_DIMS constant (glGet function), 914
GL_MIN blending mode, 234
GL_MINMAX constant (glGet function), 914
GL_MODELVIEW_MATRIX constant (glGet function), 914
GL_MODELVIEW_STACK_DEPTH constant (glGet function), 914
GL_MODULATE texture environment mode, 317, 370
gl_MultiTexCoordn built-in variable, 536
GL_NAME_STACK_DEPTH constant (glGet function), 915
GL_NEAREST mipmap filter, 327
GL_NEAREST_MIPMAP_LINEAR mipmap filter, 327
GL_NEAREST_MIPMAP_NEAREST mipmap filter, 327
GL_NO_ERROR error code, 68
gl_Normal built-in variable, 536
GL_NORMAL_ARRAY constant (glGet function), 915
GL_NORMAL_ARRAY_BUFFER_BINDING constant (glGet function), 915
GL_NORMAL_ARRAY_STRIDE constant (glGet function), 915
GL_NORMAL_ARRAY_TYPE constant (glGet function), 915
GL_NORMAL_MAP texture generation mode, 357
GL_NORMALIZE constant (glGet function), 915
gl_NormalMatrix function, 551
GL_NUM_COMPRESSED_TEXTURE_FORMATS constant (glGet function), 915
GL_OBJECT_LINEAR texture generation mode, 354
GL_ONE_MINUS_SRC_ALPHA constant, 371
GL_ONE_MINUS_SRC_COLOR constant, 371
GL_OUT_OF_MEMORY error code, 68
GL_PACK_ALIGNMENT constant
glGet function, 915
glPixlStore function, 1033
GL_PACK_IMAGE_HEIGHT constant
glGet function, 915
glPixlStore function, 1032
GL_PACK_LSB_FIRST constant
glGet function, 915
glPixlStore function, 1032
GL_PACK_ROW_LENGTH constant
glGet function, 915
glPixlStore function, 1032
GL_PACK_SKIP_IMAGES constant
glGet function, 915
glPixlStore function, 1033
GL_PACK_SKIP_PIXELS constant
glGet function, 915
glPixlStore function, 1033
GL_PACK_SKIP_ROWS constant
glGet function, 915
glPixlStore function, 1033
GL_PACK_SWAP_BYTES constant
glGet function, 915
glPixlStore function, 1032
GL_PERSPECTIVE_CORRECTION_HINT constant (glGet function), 915
GL_PIXEL_MAP_A_TO_A_SIZE constant (glGet function), 916
GL_PIXEL_MAP_B_TO_B_SIZE constant (glGet function), 916
GL_PIXEL_MAP_G_TO_G_SIZE constant (glGet function), 916
GL_PIXEL_MAP_I_TO_A_SIZE constant (glGet function), 916
GL_PIXEL_MAP_I_TO_B_SIZE constant (glGet function), 916
GL_PIXEL_MAP_I_TO_G_SIZE constant (glGet function), 916
GL_PIXEL_MAP_I_TO_I_SIZE constant (glGet function), 916
GL_PIXEL_MAP_I_TO_R_SIZE constant (glGet function), 916
GL_PIXEL_MAP_R_TO_R_SIZE constant (glGet function), 916
GL_PIXEL_MAP_S_TO_S_SIZE constant (glGet function), 916
GL_PIXEL_PACK_BUFFER_BINDING constant (glGet function), 916
GL_PIXEL_UNPACK_BUFFER_BINDING constant (glGet function), 916
GL_POINT_DISTANCE_ATTENUATION constant (glGet function), 916
GL_POINT_FADE_THRESHOLD_SIZE constant (glGet function), 916
GL_POINT_SIZE constant (glGet function), 916
GL_POINT_SIZE_GRANULARITY constant (glGet function), 916
GL_POINT_SIZE_MAX constant (glGet function), 916
GL_POINT_SIZE_MIN constant (glGet function), 917
GL_POINT_SIZE_RANGE constant (glGet function), 917
GL_POINT_SMOOTH constant (glGet function), 917
GL_POINT_SMOOTH_HINT constant (glGet function), 917
GL_POINT_SPRITE constant (glGet function), 917
gl_PointCoord built-in variable, 537
GL_POINTS primitive. See points, drawing
gl_PointSize built-in variable, 536
GL_POLYGON primitive, 108–109
GL_POLYGON_MODE constant (glGet function), 917
GL_POLYGON_OFFSET_FACTOR constant (glGet function), 917
GL_POLYGON_OFFSET_FILL constant (glGet function), 917
GL_POLYGON_OFFSET_LINE constant (glGet function), 917
GL_POLYGON_OFFSET_POINT constant (glGet function), 917
GL_POLYGON_OFFSET_UNITS constant (glGet function), 917
GL_POLYGON_SMOOTH constant (glGet function), 917
GL_POLYGON_SMOOTH_HINT constant (glGet function), 917
GL_POLYGON_STIPPLE constant (glGet function), 917
gl_Position built-in variable, 536
GL_POSITION parameter
glGetLight function, 945
glLight function, 992
GL_POST_COLOR_MATRIX_ALPHA_BIAS constant (glGet function), 918
GL_POST_COLOR_MATRIX_ALPHA_SCALE constant (glGet function), 918
GL_POST_COLOR_MATRIX_BLUE_BIAS constant (glGet function), 918
GL_POST_COLOR_MATRIX_BLUE_SCALE constant (glGet function), 918
GL_POST_COLOR_MATRIX_COLOR_TABLE constant (glGet function), 917
GL_POST_COLOR_MATRIX_GREEN_BIAS constant (glGet function), 918
GL_POST_COLOR_MATRIX_GREEN_SCALE constant (glGet function), 918
GL_POST_COLOR_MATRIX_RED_BIAS constant (glGet function), 917
GL_POST_COLOR_MATRIX_RED_SCALE constant (glGet function), 918
GL_POST_CONVOLUTION_ALPHA_BIAS constant (glGet function), 918
GL_POST_CONVOLUTION_ALPHA_SCALE constant (glGet function), 918
GL_POST_CONVOLUTION_BLUE_BIAS constant (glGet function), 918
GL_POST_CONVOLUTION_BLUE_SCALE constant (glGet function), 918
GL_POST_CONVOLUTION_COLOR_TABLE constant (glGet function), 918
GL_POST_CONVOLUTION_GREEN_BIAS constant (glGet function), 918
GL_POST_CONVOLUTION_GREEN_SCALE constant (glGet function), 918
GL_POST_CONVOLUTION_RED_BIAS constant (glGet function), 918
GL_POST_CONVOLUTION_RED_SCALE constant (glGet function), 918
GL_PREVIOUS constant, 370
GL_PRIMARY_COLOR constant, 370
GL_PROJECTION_MATRIX constant (glGet function), 918
GL_PROJECTION_STACK_DEPTH constant (glGet function), 919
GL_QUAD_STRIP primitive, 108
GL_QUADRATIC_ATTENUATION parameter
glGetLight function, 946
glLight function, 993
GL_QUADS primitive, 108
GL_READ_BUFFER constant (glGet function), 919
GL_RED pixel format, 259
GL_RED_BIAS constant (glGet function), 919
GL_RED_BITS constant (glGet function), 919
GL_RED_SCALE constant (glGet function), 919
GL_REFLECTION_MAP texture generation mode, 357
GL_RENDER rendering mode, 460
GL_RENDER_MODE constant (glGet function), 919
GL_REPEAT wrap mode, 320–321
GL_REPLACE texture environment mode, 317, 370
GL_RESCALE_NORMAL constant (glGet function), 919
GL_RGB pixel format, 259
GL_RGBA pixel format, 259
GL_RGBA_MODE constant (glGet function), 919
GL_SAMPLES constant (glGet function), 919
GL_SAMPLE_BUFFERS constant (glGet function), 919
GL_SAMPLE_COVERAGE_INVERT constant (glGet function), 919
GL_SAMPLE_COVERAGE_VALUE constant (glGet function), 919
GL_SCISSOR_BOX constant (glGet function), 919
GL_SCISSOR_TEST constant (glGet function), 919
GL_SECONDARY_COLOR_ARRAY constant (glGet function), 919
GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING constant (glGet function), 919
GL_SECONDARY_COLOR_ARRAY_SIZE constant (glGet function), 919
GL_SECONDARY_COLOR_ARRAY_STRIDE constant (glGet function), 920
GL_SECONDARY_COLOR_ARRAY_TYPE constant (glGet function), 920
gl_SecondaryColor built-in variable, 536–537
GL_SELECTION_BUFFER_SIZE constant (glGet function), 920
GL_SEPARABLE_2D constant (glGet function), 920
GL_SHADE_MODEL constant (glGet function), 920
GL_SHININESS parameter (glMaterial function), 1013
GL_SMOOTH_LINE_WIDTH_GRANULARITY constant (glGet function), 920
GL_SMOOTH_LINE_WIDTH_RANGE constant (glGet function), 920
GL_SMOOTH_POINT_SIZE_GRANULARITY constant (glGet function), 920
GL_SMOOTH_POINT_SIZE_RANGE constant (glGet function), 920
GL_SPECULAR parameter
glGetLight function, 945
glLight function, 992
glMaterial function, 1013
GL_SPHERE_MAP texture generation mode, 356–357
GL_SPOT_CUTOFF parameter
glGetLight function, 946
glLight function, 993
GL_SPOT_DIRECTION parameter
glGetLight function, 946
glLight function, 992
GL_SPOT_EXPONENT parameter
glGetLight function, 946
glLight function, 992
GL_SRC_ALPHA constant, 371
GL_SRC_COLOR constant, 371
GL_STACK_OVERFLOW error code, 68, 143
GL_STACK_UNDERFLOW error code, 68, 143
GL_STATIC_DRAW usage hint, 451
GL_STENCIL_BACK_FAIL constant (glGet function), 920
GL_STENCIL_BACK_FUNC constant (glGet function), 920
GL_STENCIL_BACK_PASS_DEPTH_FAIL constant (glGet function), 920
GL_STENCIL_BACK_PASS_DEPTH_PASS constant (glGet function), 920
GL_STENCIL_BACK_REF constant (glGet function), 920
GL_STENCIL_BACK_VALUE_MASK constant (glGet function), 920
GL_STENCIL_BACK_WRITEMASK constant (glGet function), 920
GL_STENCIL_BITS constant (glGet function), 920
GL_STENCIL_CLEAR_VALUE constant (glGet function), 921
GL_STENCIL_FAIL constant (glGet function), 921
GL_STENCIL_FUNC constant (glGet function), 921
GL_STENCIL_INDEX pixel format, 259
GL_STENCIL_PASS_DEPTH_FAIL constant (glGet function), 921
GL_STENCIL_PASS_DEPTH_PASS constant (glGet function), 921
GL_STENCIL_REF constant (glGet function), 921
GL_STENCIL_TEST constant (glGet function), 921
GL_STENCIL_VALUE_MASK constant (glGet function), 921
GL_STENCIL_WRITEMASK constant (glGet function), 921
GL_STEREO constant (glGet function), 921
GL_STREAM_DRAW usage hint, 451
GL_SUBPIXEL_BITS constant (glGet function), 921
GL_SUBTRACT constant, 370
GL_TABLE_TOO_LARGE error code, 68
gl_TexCoord[ ] built-in variable, 537
GL_TEXTURE constant, 370
GL_TEXTURE_1D constant (glGet function), 921
GL_TEXTURE_2D constant (glGet function), 922
GL_TEXTURE_3D constant (glGet function), 922
GL_TEXTURE_BINDING_1D constant (glGet function), 921
GL_TEXTURE_BINDING_2D constant (glGet function), 922
GL_TEXTURE_BINDING_3D constant (glGet function), 922
GL_TEXTURE_BINDING_CUBE_MAP constant (glGet function), 922
GL_TEXTURE_COMPRESSION_HINT constant (glGet function), 922
GL_TEXTURE_COORD_ARRAY constant (glGet function), 922
GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING constant (glGet function), 922
GL_TEXTURE_COORD_ARRAY_SIZE constant (glGet function), 922
GL_TEXTURE_COORD_ARRAY_STRIDE constant (glGet function), 922
GL_TEXTURE_COORD_ARRAY_TYPE constant (glGet function), 922
GL_TEXTURE_CUBE_MAP constant (glGet function), 922
GL_TEXTURE_GEN_Q constant (glGet function), 922
GL_TEXTURE_GEN_R constant (glGet function), 922
GL_TEXTURE_GEN_S constant (glGet function), 922
GL_TEXTURE_GEN_T constant (glGet function), 922
GL_TEXTURE_MATRIX constant (glGet function), 922
GL_TEXTURE_STACK_DEPTH constant (glGet function), 923
GL_TRANSPOSE_COLOR_MATRIX constant (glGet function), 923
GL_TRANSPOSE_MODELVIEW_MATRIX constant (glGet function), 923
GL_TRANSPOSE_PROJECTION_MATRIX constant (glGet function), 923
GL_TRANSPOSE_TEXTURE_MATRIX constant (glGet function), 923
GL_TRIANGLES primitive. See triangles, drawing
GL_TRIANGLE_FAN primitive, 97–98
GL_TRIANGLE_STRIP primitive, 96–97
GL_UNPACK_ALIGNMENT constant
glGet function, 923
glPixlStore function, 1034
GL_UNPACK_IMAGE_HEIGHT constant
glGet function, 923
glPixlStore function, 1033
GL_UNPACK_LSB_FIRST constant
glGet function, 923
glPixlStore function, 1033
GL_UNPACK_ROW_LENGTH constant
glGet function, 923
glPixlStore function, 1033
GL_UNPACK_SKIP_IMAGES constant (glGet function), 923
GL_UNPACK_SKIP_PIXELS constant
glGet function, 923
glPixlStore function, 1034
GL_UNPACK_SKIP_ROWS constant
glGet function, 923
glPixlStore function, 1034
GL_UNPACK_SWAP_BYTES constant
glGet function, 923
glPixlStore function, 1033
GL_UNSIGNED_BYTE data type, 259, 306
GL_UNSIGNED_INT data type, 259–260, 306
GL_UNSIGNED_SHORT data type, 259–260, 306
gl_Vertex built-in variable, 536
GL_VERTEX_ARRAY constant (glGet function), 923
GL_VERTEX_ARRAY_BUFFER_BINDING constant (glGet function), 923
GL_VERTEX_ARRAY_SIZE constant (glGet function), 923
GL_VERTEX_ARRAY_STRIDE constant (glGet function), 924
GL_VERTEX_ARRAY_TYPE constant (glGet function), 924
GL_VERTEX_PROGRAM_POINT_SIZE constant (glGet function), 924
GL_VERTEX_PROGRAM_TWO_SIDE constant (glGet function), 924
GL_VIEWPORT constant (glGet function), 924
GL_ZOOM_X constant (glGet function), 924
GL_ZOOM_Y constant (glGet function), 924
glAccum function, 244–246, 784–785
glActiveTexture function, 363, 785
glAlphaFunc function, 249, 506, 786
glAreTexturesResident function, 338, 787
glArrayElement function, 435, 788
glAttachShader function, 530, 747, 788–789
glBegin function, 422, 789–791
GL_LINES parameter, 85
GL_LINE_STRIP parameter, 87
GL_POINTS parameter, 78
GL_TRIANGLES parameter, 94
glBeginQuery function, 487, 791–792
glBindAttribLocation function, 747, 792–793
glBindBuffer function, 450–454, 602–603, 793–795
glBindFramebufferEXT function, 609
glBindRenderbufferEXT function, 609
glBindTexture function, 330, 337, 505, 795–796
glBitmap function, 257, 796–797
glBlendColor function, 234, 798
glBlendEquation function, 234, 798–799
glBlendEquationSeparate function, 799–801
glBlendFunc function, 230–232, 236, 801–803
glBlendFuncSeparate function, 234, 803–806
glBufferData function, 451, 602, 806–807
glBufferSubData function, 602, 807–808
glCallList function, 425, 808–809
glCallLists function, 425, 668, 698, 728, 809–810
glClear function, 52, 123, 810–811
glClearAccum function, 811–812
glClearColor function, 51–52, 812
glClearDepth function, 812–813
glClearIndex function, 813
glClearStencil function, 123, 813
glClientActiveTexture function, 434, 814
glClipPlane function, 814–815
glColor function, 182–183, 815–817
glColor3ub function, 182
glColor4ub function, 742
glColorMask function, 248, 817–818
glColorMaterial function, 194, 205, 818–819
glColorPointer function, 433–434, 819–820
glColorSubTable function, 291, 820–821
glColorTable function, 289–290, 821–824
glColorTableParameter function, 291, 824–825
glColorTableParameterfv function, 291
glColorTableParameteriv function, 291
glCompileShader function, 529, 751, 825–826
glCompressedTexImage1D function, 349, 826–827
glCompressedTexImage2D function, 349, 827–829
glCompressedTexImage3D function, 350, 830–831
glCompressedTexSubImage function, 350
glCompressedTexSubImage1D function, 832–833
glCompressedTexSubImage2D function, 833–835
glCompressedTexSubImage3D function, 835–836
glConvolutionFilter1D function, 296, 836–838
glConvolutionFilter2D function, 293–294, 839–841
glConvolutionParameter function, 296, 841–842
glConvolutionParameterf function, 296
glConvolutionParameterfv function, 296
glConvolutionParameteri function, 296
glConvolutionParameteriv function, 296
glCopyColorSubTable function, 292, 843
glCopyColorTable function, 291, 843–845
glCopyConvolutionFilter1D function, 845–846
glCopyConvolutionFilter2D function, 295, 846–848
glCopyPixels function, 265, 848–850
glCopyTexImage function, 638
glCopyTexImage1D function, 307, 850–852
glCopyTexImage2D function, 307, 498–499, 574, 618, 852–854
glCopyTexSubImage function, 308
glCopyTexSubImage1D function, 308, 854–855
glCopyTexSubImage2D function, 308, 855–857
glCopyTexSubImage3D function, 308, 857–858
glCreateProgram function, 530, 747, 858–859
glCreateShader function, 528, 747, 859–860
glCullFace function, 860
glDeleteBuffers function, 602, 861
glDeleteFramebuffersEXT function, 609
glDeleteLists function, 425, 861
glDeleteProgram function, 530, 862
glDeleteQueries function, 487, 862–863
glDeleteRenderbuffersEXT function, 609
glDeleteShader function, 528, 863
glDeleteTextures function, 330, 863–864
glDepthFunc function, 249, 864–865
glDepthMask function, 119, 865
glDepthRange function, 865–866
glDetachShader function, 530, 866–867
glDisable function, 66, 91, 290
GL_ALPHA_TEST parameter, 249
GL_DITHER parameter, 250
GL_FOG parameter, 241
GL_MULTISAMPLE parameter, 239
GL_TEXTURE_GEN_* parameter, 351
glDisableClientState function, 432
glDrawArrays function, 435, 771, 867
glDrawBuffer function, 117, 266, 611, 706, 868–869
glDrawBuffers function, 611, 869–870
glDrawElements function, 438, 870–871
glDrawPixels function, 258, 279–280, 602–603, 871–876
glDrawRangeElements function, 439, 876–877
glDrawTex function, 745
glEdgeFlag function, 115–116, 878
glEdgeFlagPointer function, 433–434, 878–879
glee.h file, 43
glEnable function, 65, 91, 879–884
GL_ALPHA_TEST parameter, 249
GL_COLOR_LOGIC_OP parameter, 248
GL_COLOR_MATERIAL parameter, 194
GL_COLOR_SUM parameter, 344
GL_DEPTH_TEST parameter, 103, 119
GL_DITHER parameter, 250
GL_FOG parameter, 241
GL_HISTOGRAM parameter, 298
GL_LIGHT0 parameter, 203
GL_LIGHTING parameter, 192
GL_LINE_STIPPLE parameter, 91
GL_MINMAX parameter, 301
GL_MULTISAMPLE parameter, 239
GL_NORMALIZE parameter, 201
GL_POINT_SPRITE parameter, 372
GL_POLYGON_STIPPLE parameter, 109
GL_RESCALE_NORMALS parameter, 201
GL_SCISSOR_TEST parameter, 120
GL_STENCIL_TEST parameter, 122
GL_TEXTURE_2D function, 316
GL_TEXTURE_CUBE_MAP parameter, 359
GL_TEXTURE_GEN_* parameter, 350
glEnableClientState function, 432–433, 884–885
glEnableVertexAttribArray function, 886
glEnd function, 422
GL_LINES parameter, 85
GL_LINE_STRIP parameter, 87
GL_POINTS parameter, 78
GL_TRIANGLES parameter, 95
glEndList function, 424–426
glEndQuery function, 487
glEvalCoord function, 396, 886–888
glEvalCoord1f function, 396
glEvalMesh function, 396, 400, 888–890
glEvalMesh2 function, 400
glEvalPoint function, 890–891
glFeedbackBuffer function, 471, 891–893
glFlush function, 53, 424, 893–894
glFogCoord function, 896
glFogCoordf function, 244
glFogCoordPointer function, 433–434, 896–897
glFogf function, 242–243
glFogfv function, 242
glFogiv function, 242
GLFrame class, 162–164
glFramebufferRenderbufferEXT function, 610
glFramebufferTexture1DEXT function, 610
glFramebufferTexture2DEXT function, 610
glFramebufferTexture3DEXT function, 610
glFrustrumf function, 770
glFrustum function, 149, 898–899
glGenBuffers function, 450, 602, 900
glGenerateMipmapEXT function, 613, 618, 634
glGenFramebuffersEXT function, 609
glGenLists function, 425, 900–901
glGenQueries function, 486
glGenRenderbuffersEXT function, 609
glGenTextures function, 330, 337, 505, 902
glGet function, 143
glGet function, 902–924
C specification, 902
constants
GL_ACCUM_ALPHA_BITS, 903
GL_ACCUM_BLUE_BITS, 903
GL_ACCUM_CLEAR_VALUE, 903
GL_ACCUM_GREEN_BITS, 903
GL_ACCUM_RED_BITS, 903
GL_ACTIVE_TEXTURE, 903
GL_ALIASED_LINE_WIDTH_RANGE, 903
GL_ALIASED_POINT_SIZE_RANGE, 903
GL_ALPHA_BIAS, 903
GL_ALPHA_BITS, 903
GL_ALPHA_SCALE, 903
GL_ALPHA_TEST, 903
GL_ALPHA_TEST_FUNC, 903
GL_ALPHA_TEST_REF, 904
GL_ARRAY_BUFFER_BINDING, 904
GL_ATTRIB_STACK_DEPTH, 904
GL_AUTO_NORMAL, 904
GL_AUX_BUFFERS, 904
GL_BLEND, 904
GL_BLEND_COLOR, 904
GL_BLEND_DST_ALPHA, 904
GL_BLEND_DST_RGB, 904
GL_BLEND_EQUATION_ALPHA, 904
GL_BLEND_EQUATION_RGB, 904
GL_BLEND_SRC_ALPHA, 904
GL_BLEND_SRC_RGB, 904
GL_BLUE_BIAS, 904
GL_BLUE_BITS, 904
GL_BLUE_SCALE, 904
GL_CLIENT_ACTIVE_TEXTURE, 905
GL_CLIENT_ATTRIB_STACK_DEPTH, 905
GL_CLIP_PLANEi, 905
GL_COLOR_ARRAY, 905
GL_COLOR_ARRAY_BUFFER_BINDING, 905
GL_COLOR_ARRAY_SIZE, 905
GL_COLOR_ARRAY_STRIDE, 905
GL_COLOR_ARRAY_TYPE, 905
GL_COLOR_CLEAR_VALUE, 905
GL_COLOR_LOGIC_OP, 905
GL_COLOR_MATERIAL, 905
GL_COLOR_MATERIAL_FACE, 905
GL_COLOR_MATERIAL_PARAMETER, 905
GL_COLOR_MATRIX, 905
GL_COLOR_MATRIX_STACK_DEPTH, 905
GL_COLOR_SUM, 905
GL_COLOR_TABLE, 906
GL_COLOR_WRITEMASK, 906
GL_COMPRESSED_TEXTURE_FORMATS, 906
GL_CONVOLUTION_1D, 906
GL_CONVOLUTION_2D, 906
GL_CULL_FACE, 906
GL_CULL_FACE_MODE, 906
GL_CURRENT_COLOR, 906
GL_CURRENT_FOG_COORD, 906
GL_CURRENT_INDEX, 906
GL_CURRENT_NORMAL, 906
GL_CURRENT_PROGRAM, 906
GL_CURRENT_RASTER_COLOR, 906
GL_CURRENT_RASTER_DISTANCE, 906
GL_CURRENT_RASTER_INDEX, 906
GL_CURRENT_RASTER_POSITION, 906
GL_CURRENT_RASTER_POSITION_VALID, 907
GL_CURRENT_RASTER_SECONDARY_COLOR, 907
GL_CURRENT_RASTER_TEXTURE_COORDS, 907
GL_CURRENT_SECONDARY_COLOR, 907
GL_CURRENT_TEXTURE_COORDS, 907
GL_DEPTH_BIAS, 907
GL_DEPTH_BITS, 907
GL_DEPTH_CLEAR_VALUE, 907
GL_DEPTH_FUNC, 907
GL_DEPTH_RANGE, 907
GL_DEPTH_SCALE, 907
GL_DEPTH_TEST, 907
GL_DEPTH_WRITEMASK, 907
GL_DITHER, 907
GL_DOUBLEBUFFER, 907
GL_DRAW_BUFFER, 908
GL_DRAW_BUFFERi, 908
GL_EDGE_FLAG, 908
GL_EDGE_FLAG_ARRAY, 908
GL_EDGE_FLAG_ARRAY_BUFFER_BINDING, 908
GL_EDGE_FLAG_ARRAY_STRIDE, 908
GL_ELEMENT_ARRAY_BUFFER_BINDING, 908
GL_FEEDBACK_BUFFER_SIZE, 908
GL_FEEDBACK_BUFFER_TYPE, 908
GL_FOG, 908
GL_FOG_COLOR, 909
GL_FOG_COORD_ARRAY, 908
GL_FOG_COORD_ARRAY_BUFFER_BINDING, 908
GL_FOG_COORD_ARRAY_STRIDE, 908
GL_FOG_COORD_ARRAY_TYPE, 908
GL_FOG_COORD_SRC, 908
GL_FOG_DENSITY, 909
GL_FOG_END, 909
GL_FOG_HINT, 909
GL_FOG_INDEX, 909
GL_FOG_MODE, 909
GL_FOG_START, 909
GL_FRAGMENT_SHADER_DERIVATIVE_HINT, 909
GL_FRONT_FACE, 909
GL_GENERATE_MIPMAP_HINT, 909
GL_GREEN_BIAS, 909
GL_GREEN_BITS, 909
GL_GREEN_SCALE, 909
GL_HISTOGRAM, 909
GL_INDEX_ARRAY, 909
GL_INDEX_ARRAY_BUFFER_BINDING, 909
GL_INDEX_ARRAY_STRIDE, 909
GL_INDEX_ARRAY_TYPE, 910
GL_INDEX_BITS, 910
GL_INDEX_CLEAR_VALUE, 910
GL_INDEX_LOGIC_OP, 910
GL_INDEX_MODE, 910
GL_INDEX_OFFSET, 910
GL_INDEX_SHIFT, 910
GL_INDEX_WRITEMASK, 910
GL_LIGHTi, 910
GL_LIGHTING, 910
GL_LIGHT_MODEL_AMBIENT, 910
GL_LIGHT_MODEL_COLOR_CONTROL, 910
GL_LIGHT_MODEL_LOCAL_VIEWER, 910
GL_LIGHT_MODEL_TWO_SIDE, 910
GL_LINE_SMOOTH, 910
GL_LINE_SMOOTH_HINT, 910
GL_LINE_STIPPLE, 910
GL_LINE_STIPPLE_PATTERN, 911
GL_LINE_STIPPLE_REPEAT, 911
GL_LINE_WIDTH, 911
GL_LINE_WIDTH_GRANULARITY, 911
GL_LINE_WIDTH_RANGE, 911
GL_LIST_BASE, 911
GL_LIST_INDEX, 911
GL_LIST_MODE, 911
GL_LOGIC_OP_MODE, 911
GL_MAP1_COLOR_4, 911
GL_MAP1_GRID_DOMAIN, 911
GL_MAP1_GRID_SEGMENTS, 911
GL_MAP1_INDEX, 911
GL_MAP1_NORMAL, 911
GL_MAP1_TEXTURE_COORD_1, 911
GL_MAP1_TEXTURE_COORD_2, 911
GL_MAP1_TEXTURE_COORD_3, 911
GL_MAP1_TEXTURE_COORD_4, 911
GL_MAP1_VERTEX_3, 912
GL_MAP1_VERTEX_4, 912
GL_MAP2_COLOR_4, 912
GL_MAP2_GRID_DOMAIN, 912
GL_MAP2_GRID_SEGMENTS, 912
GL_MAP2_INDEX, 912
GL_MAP2_NORMAL, 912
GL_MAP2_TEXTURE_COORD_1, 912
GL_MAP2_TEXTURE_COORD_2, 912
GL_MAP2_TEXTURE_COORD_3, 912
GL_MAP2_TEXTURE_COORD_4, 912
GL_MAP2_VERTEX_3, 912
GL_MAP2_VERTEX_4, 912
GL_MAP_COLOR, 912
GL_MAP_STENCIL, 912
GL_MATRIX_MODE, 912
GL_MAX_3D_TEXTURE_SIZE, 912
GL_MAX_ATTRIB_STACK_DEPTH, 913
GL_MAX_CLIENT_ATTRIB_STACK_DEPTH, 913
GL_MAX_CLIP_PLANES, 913
GL_MAX_COLOR_MATRIX_STACK_DEPTH, 913
GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, 913
GL_MAX_CUBE_MAP_TEXTURE_SIZE, 913
GL_MAX_DRAW_BUFFERS, 913
GL_MAX_ELEMENTS_INDICES, 913
GL_MAX_ELEMENTS_VERTICES, 913
GL_MAX_EVAL_ORDER, 913
GL_MAX_FRAGMENT_UNIFORM_COMPONENTS, 913
GL_MAX_LIGHTS, 913
GL_MAX_LIST_NESTING, 913
GL_MAX_MODELVIEW_STACK_DEPTH, 913
GL_MAX_NAME_STACK_DEPTH, 913
GL_MAX_PIXEL_MAP_TABLE, 913
GL_MAX_PROJECTION_STACK_DEPTH, 914
GL_MAX_TEXTURE_COORDS, 914
GL_MAX_TEXTURE_IMAGE_UNITS, 914
GL_MAX_TEXTURE_LOD_BIAS, 914
GL_MAX_TEXTURE_SIZE, 914
GL_MAX_TEXTURE_STACK_DEPTH, 914
GL_MAX_TEXTURE_UNITS, 914
GL_MAX_VARYING_FLOATS, 914
GL_MAX_VERTEX_ATTRIBS, 914
GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS, 914
GL_MAX_VERTEX_UNIFORM_COMPONENTS, 914
GL_MAX_VIEWPORT_DIMS, 914
GL_MINMAX, 914
GL_MODELVIEW_MATRIX, 914
GL_MODELVIEW_STACK_DEPTH, 914
GL_NAME_STACK_DEPTH, 915
GL_NORMALIZE, 915
GL_NORMAL_ARRAY, 915
GL_NORMAL_ARRAY_BUFFER_BINDING, 915
GL_NORMAL_ARRAY_STRIDE, 915
GL_NORMAL_ARRAY_TYPE, 915
GL_NUM_COMPRESSED_TEXTURE_FORMATS, 915
GL_PACK_ALIGNMENT, 915
GL_PACK_IMAGE_HEIGHT, 915
GL_PACK_LSB_FIRST, 915
GL_PACK_ROW_LENGTH, 915
GL_PACK_SKIP_IMAGES, 915
GL_PACK_SKIP_PIXELS, 915
GL_PACK_SKIP_ROWS, 915
GL_PACK_SWAP_BYTES, 915
GL_PERSPECTIVE_CORRECTION_HINT, 915
GL_PIXEL_MAP_A_TO_A_SIZE, 916
GL_PIXEL_MAP_B_TO_B_SIZE, 916
GL_PIXEL_MAP_G_TO_G_SIZE, 916
GL_PIXEL_MAP_I_TO_A_SIZE, 916
GL_PIXEL_MAP_I_TO_B_SIZE, 916
GL_PIXEL_MAP_I_TO_G_SIZE, 916
GL_PIXEL_MAP_I_TO_I_SIZE, 916
GL_PIXEL_MAP_I_TO_R_SIZE, 916
GL_PIXEL_MAP_R_TO_R_SIZE, 916
GL_PIXEL_MAP_S_TO_S_SIZE, 916
GL_PIXEL_PACK_BUFFER_BINDING, 916
GL_PIXEL_UNPACK_BUFFER_BINDING, 916
GL_POINT_DISTANCE_ATTENUATION, 916
GL_POINT_FADE_THRESHOLD_SIZE, 916
GL_POINT_SIZE, 916
GL_POINT_SIZE_GRANULARITY, 916
GL_POINT_SIZE_MAX, 916
GL_POINT_SIZE_MIN, 917
GL_POINT_SIZE_RANGE, 917
GL_POINT_SMOOTH, 917
GL_POINT_SMOOTH_HINT, 917
GL_POINT_SPRITE, 917
GL_POLYGON_MODE, 917
GL_POLYGON_OFFSET_FACTOR, 917
GL_POLYGON_OFFSET_FILL, 917
GL_POLYGON_OFFSET_LINE, 917
GL_POLYGON_OFFSET_POINT, 917
GL_POLYGON_OFFSET_UNITS, 917
GL_POLYGON_SMOOTH, 917
GL_POLYGON_SMOOTH_HINT, 917
GL_POLYGON_STIPPLE, 917
GL_POST_COLOR_MATRIX_ALPHA_BIAS, 918
GL_POST_COLOR_MATRIX_ALPHA_SCALE, 918
GL_POST_COLOR_MATRIX_BLUE_BIAS, 918
GL_POST_COLOR_MATRIX_BLUE_SCALE, 918
GL_POST_COLOR_MATRIX_COLOR_TABLE, 917
GL_POST_COLOR_MATRIX_GREEN_BIAS, 918
GL_POST_COLOR_MATRIX_GREEN_SCALE, 918
GL_POST_COLOR_MATRIX_RED_BIAS, 917
GL_POST_COLOR_MATRIX_RED_SCALE, 918
GL_POST_CONVOLUTION_ALPHA_BIAS, 918
GL_POST_CONVOLUTION_ALPHA_SCALE, 918
GL_POST_CONVOLUTION_BLUE_BIAS, 918
GL_POST_CONVOLUTION_BLUE_SCALE, 918
GL_POST_CONVOLUTION_COLOR_TABLE, 918
GL_POST_CONVOLUTION_GREEN_BIAS, 918
GL_POST_CONVOLUTION_GREEN_SCALE, 918
GL_POST_CONVOLUTION_RED_BIAS, 918
GL_POST_CONVOLUTION_RED_SCALE, 918
GL_PROJECTION_MATRIX, 918
GL_PROJECTION_STACK_DEPTH, 919
GL_READ_BUFFER, 919
GL_RED_BIAS, 919
GL_RED_BITS, 919
GL_RED_SCALE, 919
GL_RENDER_MODE, 919
GL_RESCALE_NORMAL, 919
GL_RGBA_MODE, 919
GL_SAMPLES, 919
GL_SAMPLE_BUFFERS, 919
GL_SAMPLE_COVERAGE_INVERT, 919
GL_SAMPLE_COVERAGE_VALUE, 919
GL_SCISSOR_BOX, 919
GL_SCISSOR_TEST, 919
GL_SECONDARY_COLOR_ARRAY, 919
GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING, 919
GL_SECONDARY_COLOR_ARRAY_SIZE, 919
GL_SECONDARY_COLOR_ARRAY_STRIDE, 920
GL_SECONDARY_COLOR_ARRAY_TYPE, 920
GL_SELECTION_BUFFER_SIZE, 920
GL_SEPARABLE_2D, 920
GL_SHADE_MODEL, 920
GL_SMOOTH_LINE_WIDTH_GRANULARITY, 920
GL_SMOOTH_LINE_WIDTH_RANGE, 920
GL_SMOOTH_POINT_SIZE_GRANULARITY, 920
GL_SMOOTH_POINT_SIZE_RANGE, 920
GL_STENCIL_BACK_FAIL, 920
GL_STENCIL_BACK_FUNC, 920
GL_STENCIL_BACK_PASS_DEPTH_FAIL, 920
GL_STENCIL_BACK_PASS_DEPTH_PASS, 920
GL_STENCIL_BACK_REF, 920
GL_STENCIL_BACK_VALUE_MASK, 920
GL_STENCIL_BACK_WRITEMASK, 920
GL_STENCIL_BITS, 920
GL_STENCIL_CLEAR_VALUE, 921
GL_STENCIL_FAIL, 921
GL_STENCIL_FUNC, 921
GL_STENCIL_PASS_DEPTH_FAIL, 921
GL_STENCIL_PASS_DEPTH_PASS, 921
GL_STENCIL_REF, 921
GL_STENCIL_TEST, 921
GL_STENCIL_VALUE_MASK, 921
GL_STENCIL_WRITEMASK, 921
GL_STEREO, 921
GL_SUBPIXEL_BITS, 921
GL_TEXTURE_1D, 921
GL_TEXTURE_2D, 922
GL_TEXTURE_3D, 922
GL_TEXTURE_BINDING_1D, 921
GL_TEXTURE_BINDING_2D, 922
GL_TEXTURE_BINDING_3D, 922
GL_TEXTURE_BINDING_CUBE_MAP, 922
GL_TEXTURE_COMPRESSION_HINT, 922
GL_TEXTURE_COORD_ARRAY, 922
GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING, 922
GL_TEXTURE_COORD_ARRAY_SIZE, 922
GL_TEXTURE_COORD_ARRAY_STRIDE, 922
GL_TEXTURE_COORD_ARRAY_TYPE, 922
GL_TEXTURE_CUBE_MAP, 922
GL_TEXTURE_GEN_Q, 922
GL_TEXTURE_GEN_R, 922
GL_TEXTURE_GEN_S, 922