Index

atomicAdd(), 601

atomicAnd(), 601

atomicCompSwap(), 601

atomicExchange(), 601

atomicMax(), 601

atomicMin(), 601

atomicOr(), 601

atomicXor(), 601

imageAtomicAdd(), 595

imageAtomicAnd(), 595

imageAtomicCompSwap(), 596

imageAtomicMax(), 595

imageAtomicMin(), 595

imageAtomicOr(), 596

imageAtomicXor(), 596

abs(), 712

acos(), 709

acosh(), 711

adjacency primitives, 523, 528535

aliasing, 188, 454

all(), 725

alpha, 25, 153, 173

alpha value, 173

ambient light, 375, 377

amplification

geometry, 539

analytic integration, 465

anisotropic filtering, 321

antialiasing, 185, 453472

any(), 725

application programming interface, 2

area sampling, 465

array textures, 258

arrays, 44

asin(), 709

asinh(), 710

atan(), 710

atanh(), 711

atomic counter, 617621, 636, 642

atomic operation, 591

on image variables, 591

atomicAdd(), 601, 744

atomicAnd(), 601, 744

atomicCompSwap(), 601, 745

atomicCounter(), 743

atomicCounterDecrement(), 743

atomicCounterIncrement(), 743

atomicExchange(), 601, 745

atomicMax(), 601, 744

atomicMin(), 601, 744

atomicOr(), 601, 745

atomicXor(), 601, 745

attenuation, 383

barrier, 611

memory, 611

barrier(), 754

barycentric coordinates, 505

Bernstein polynomials, 515

Bézier patches, 512

billboard, 537

bind, 17

bindless texture, 337

binomial coefficient, 515

binormal, 447

bit depth, 154

bitCount(), 727

bitfieldExtract(), 726

bitfieldInsert(), 727

bitfieldReverse(), 727

bit plane, 158

blending, 14, 173, 629

Boolean occlusion query, 181

buffer

pixel unpack, 268

shader storage, 589

buffer objects, 11

buffer ping-ponging, 348

built-in variables

compute shader, 642

geometry shader, 573

bump map, 453

bump mapping, 444454

byte swapping, 276

cache, 609

coherency, 609

hierarchy, 609

callback

function, 866

callback(), 867

cascading style sheet, 682

ceil(), 713

clamp(), 715

client, 3

clip, 203

clip coordinates, 203

clipping, 12, 228

frustum, 202

user, 228

clipping region, 10

coherent, 611

communication, 645

components, 43

compressed texture, 256

compression, 189

compression ratio, 285

compute shader, 36, 635661

conditional rendering, 184

constructor, 40

constructors, 40

context

debug, 863

control texture, 426

controlling polygon rendering, 100

convex, 99

convolution, 465

convolution filter, 465

convolution kernel, 465

coordinate system, 197

coordinate systems, 200

cos(), 709

cosh(), 710

cracking, 517

cross(), 721

cube map, 258, 571

culling, 198, 228

frustum, 202

in a geometry shader, 537

current, 17

deadlock, 614

debug

groups, 874

debug context, 863

debug message, 867

debug output, 866

default framebuffer, 155

degrees(), 709

depth buffer, 156, 390, 413

depth coordinate, 200

depth fighting, 417

depth range, 200, 226

depth testing, 13

depth texture, 413

depth value, 13

determinant(), 723

dFdx(), 749

dFdxCoarse(), 750

dFdxFine(), 750

dFdy(), 749

dFdyCoarse(), 750

dFdyFine(), 750

diffuse light, 375

directional light, 379

dispatch, 639

indirect, 640

displacement mapping, 499, 520

display, 4

display(), 8, 9, 18, 28

distance(), 721

dot(), 721

double-buffering, 156

dual-source blending, 176

dynamically uniform, 292

edge detection, 654

emission, 398

emissive lighting, 394

EmitStreamVertex(), 753

EmitVertex(), 753

end

of the universe, 880

EndPrimitive(), 753

EndStreamPrimitive(), 753

environment map, 309, 571

environment mapping, 309

equal(), 725

event loop, 8

exp(), 711

exp2(), 711

exponent, 282

eye coordinates, 200, 222, 397

eye space, 199, 200, 397

faceforward(), 721

faces, 100

factorial, 515

far plane, 202, 218, 226

feedback, 198, 231

feedback buffer objects, 231

fence, 602

filtering, 193

debug messages, 870

linear, 322

findLSB(), 727

findMSB(), 727

floatBitsToInt(), 717

floatBitsToUint(), 717

floor(), 713

fma(), 717

fract(), 713

fractional brownian motion, 477

fragment, 3, 154

fragment discard, 13

fragment shader, 3, 4, 36

fragment shading, 13

fragment tests

early, 616

framebuffer, 4, 155

framebuffer attachment, 351

framebuffer rendering loop, 351

frequency clamping, 469

frexp(), 718

front-facing, 101

frustum, 200

clipping, 202

culling, 202

function overloading, 291

fwidth(), 749

fwidthCoarse(), 751

fwidthFine(), 750

gamut, 153

geometric model, xl

geometric object, 179

geometric primitive, 2

geometry shader, 35, 521

geometry shaders, 575

GetTextureHandleARB(), 338

GetTextureSamplerHandleARB(), 338

GL3W

gl3wGetProcAddress(), 677

gl3wInit(), 8, 15, 676, 677

gl3wIsSupported(), 676

GL3W(), 676, 677

GL CLIP PLANE0, 229

gl ClipDistance, 228

glActiveShaderProgram(), 85

glAttachShader(), 76, 89, 637, 660

glBeginConditionalRender(), 184

glBeginQuery(), 180182, 880, 881

glBeginQueryIndexed(), 551

glBeginTransformFeedback(), 245, 246

glBind*(), 17, 349

glBindAttribLocation(), 447

glBindBuffer(), 19, 20, 65, 71, 104

glBindBufferBase(), 65, 66, 71

glBindBufferRange(), 65, 66, 71, 235

glBindBuffersRange(), 235, 236

glBindFragDataLocation(), 364

glBindFragDataLocationIndexed(), 364

glBindFramebuffer(), 349, 350, 362

glBindImageTexture(), 583, 584

glBindProgramPipeline(), 84

glBindRenderbuffer(), 356

glBindSampler(), 288, 289

glBindSamplers(), 288, 289

glBindTextureUnit(), 261, 263, 289, 299, 300, 304, 340, 370, 584

glBindTransformFeedback(), 232

glBindVertexArray(), 8, 17, 18, 29

glBlendColor(), 176

glBlendEquation(), 177, 621

glBlendEquationi(), 177

glBlendEquationSeparate(), 177

glBlendEquationSeparatei(), 177

glBlendFunc(), 174, 175, 178, 368, 369, 621

glBlendFunci(), 174, 175, 177, 368

glBlendFuncSeparate(), 174, 175, 178, 368

glBlendFuncSeparatei(), 174, 175, 177, 368

glBlitNamedFramebuffer(), 193, 194

glCheckFramebufferStatus(), 361, 362, 569

glClampColor(), 193

glClearBufferfi(), 157

glClearBufferfv(), 8, 28, 29, 157

glClearBufferiv(), 157

glClearBufferuiv(), 157

glClearNamedBufferData(), 107, 108

glClearNamedBufferSubData(), 107, 108

glClientWaitSync(), 603606

glClipControl(), 230

glColorMask(), 158

glColorMaski(), 158

glCommandf{sifd}(), xliv

glCompileShader(), 75, 523, 573, 637, 660

glCompressedTextureSubImage1D(), 287

glCompressedTextureSubImage2D(), 287

glCompressedTextureSubImage3D(), 287

glCopyNamedBufferSubData(), 108110, 615

glCopyTexImage*(), 366

glCopyTexSubImage*(), 366

glcorearb.h, 9

glCreate*(), 17

glCreateBuffers(), 19, 20, 102104, 370, 875, 876

glCreateFramebuffers(), 349351

glCreateProgram(), 76, 79, 876

glCreateProgramPipelines(), 84, 877

glCreateQueries(), 180, 181, 183, 551, 877, 880

glCreateRenderbuffers(), 355, 356, 360

glCreateSamplers(), 288, 290, 877

glCreateShader(), 74, 78, 523, 637, 639, 660, 876

glCreateShaderProgramv(), 84

glCreateTextures(), 260, 261, 263, 305, 315, 341, 352, 370, 583, 875, 876

glCreateTransformFeedbacks(), 232

glCreateVertexArrays(), 1618

glCullFace(), 101, 167, 168

glDebugMessageCallback(), 866, 867

glDebugMessageControl(), 870

glDebugMessageInsert(), 872, 873

glDeleteBuffers(), 20

glDeleteFramebuffers(), 350, 351

glDeleteProgram(), 78

glDeleteProgramPipelines(), 84

glDeleteQueries(), 181, 183

glDeleteRenderbuffers(), 355, 356

glDeleteSamplers(), 290

glDeleteShader(), 76, 78

glDeleteSync(), 604

glDeleteTextures(), 260, 261

glDeleteTransformFeedbacks(), 233

glDeleteVertexArrays(), 17, 18

glDepthFunc(), 171

glDepthMask(), 158

glDepthRange(), 226, 230

glDepthRangeArrayv(), 563, 564, 567

glDepthRangef(), 226

glDepthRangeIndexed(), 563, 564

glDetachShader(), 76

glDisable(), 30, 31, 101, 134, 163, 164, 167, 176, 178, 869

glDisablei(), 367

glDisableVertexAttribArray(), 28, 121, 139

glDispatchCompute(), 640, 641, 643, 644, 660

glDispatchComputeIndirect(), 640, 641, 644, 660

glDrawArrays(), 11, 29, 30, 124, 125, 127, 129, 137, 138, 144, 499, 530, 552, 640, 652

glDrawArraysIndirect(), 127, 128, 131, 640

glDrawArraysInstanced(), 127, 137, 138, 142, 145, 149, 553, 561

glDrawArraysInstancedBaseInstance(), 30, 144

glDrawBuffer(), 124, 365, 366

glDrawBuffers(), 124, 362, 365, 366

glDrawElements(), 103, 124126, 128, 129, 134, 138, 145, 531, 534

glDrawElementsBaseVertex(), 125, 126, 130, 138, 144, 145

glDrawElementsIndirect(), 128, 131

glDrawElementsInstanced(), 127, 138, 149, 561

glDrawElementsInstancedBaseInstance(), 144, 145

glDrawElementsInstancedBaseVertex(), 127, 128, 138, 149

glDrawElementsInstancedBaseVertexBaseInstance(), 144, 145

glDrawRangeElements(), 126, 825

glDrawRangeElementsBaseVertex(), 126

glDrawTransformFeedback(), 552, 559

glDrawTransformFeedbackInstanced(), 553

glDrawTransformFeedbackStream(), 552, 553, 559

glDrawTransformFeedbackStreamInstanced(), 553

glEnable(), 30, 31, 101, 134, 163165, 167, 171, 172, 174, 178, 186, 187, 189, 190, 311, 523, 869, 870

glEnablei(), 367

glEnableVertexArrayAttrib(), 28

glEnableVertexAttribArray(), 28, 121, 125, 139

glEndConditionalRender(), 184

glEndQuery(), 180182, 880, 881

glEndQueryIndexed(), 551

glEndTransformFeedback(), 246, 552

glext.h, 9

glFenceSync(), 602, 605, 606

glFinish(), 115

glFlush(), 603

glFlushMappedBufferRange(), 114

glFlushMappedNamedBufferRange(), 115, 116

glFrontFace(), 101

GLFW

glfwCreateWindow(), 15, 348, 665, 666

glfwDestroyWindow(), 15, 675

glfwGetFramebufferSize(), 674

glfwGetKey(), 668

glfwGetMouseButton(), 669

glfwGetWindowPos(), 672, 673

glfwGetWindowUserPointer(), 675

glfwInit(), 15, 665, 675, 676

glfwMakeContextCurrent(), 666

glfwPollEvents(), 15, 667

glfwSetCursorPosCallback(), 669

glfwSetErrorCallback(), 664

glfwSetKeyCallback(), 667

glfwSetWindowPos(), 672

glfwSetWindowSize(), 672

glfwSetWindowUserPointer(), 674, 675

glfwSwapBuffers(), 15, 156, 666

glfwTerminate(), 15, 675

glfwWaitEvents(), 667

glfwWindowHint(), 671

glfwWindowShouldClose(), 15, 666

GLFW(), 664676

glGenerateTextureMipmap(), 328, 329

glGet*(), 676, 765

glGetActiveAtomicCounterBufferiv(), 757, 809811

glGetActiveAttrib(), 757, 802

glGetActiveSubroutineName(), 758, 809

glGetActiveSubroutineUniformiv(), 758, 808

glGetActiveSubroutineUniformName(), 758, 808

glGetActiveUniform(), 299, 758, 801

glGetActiveUniformBlockiv(), 65, 758, 805, 806

glGetActiveUniformBlockName(), 758

glGetActiveUniformName(), 758

glGetActiveUniformsiv(), 66, 758, 804, 805, 811

glGetAttachedShaders(), 759, 800

glGetAttribLocation(), 139, 759, 802

glGetBooleani v(), 759, 788, 817

glGetBooleanv(), 759, 765, 774, 788, 795, 796, 818, 826, 847

glGetBufferParameteri64v(), 759, 770

glGetBufferParameteriv(), 759, 770

glGetBufferPointerv(), 759, 770

glGetBufferSubData(), 109, 544, 759

glGetCompressedTexImage(), 759

glGetDebugMessageLog(), 759

glGetDoublei_v(), 759, 771

glGetDoublev(), 759, 765

glGetError(), 604, 757, 759, 847

glGetFloati v(), 760, 771

glGetFloatv(), 759, 765, 766, 772774, 787, 788, 824, 825, 845

glGetFragDataIndex(), 365, 760

glGetFragDataLocation(), 365, 760

glGetFramebufferAttachmentParameteriv(), 760, 791, 792

glGetFramebufferParameteriv(), 760

glGetInteger64i v(), 760, 768, 804, 818820

glGetInteger64v(), 760, 840, 845

glGetIntegeri v(), 760, 768, 774, 785, 787, 803, 817820, 836

glGetIntegerv(), 164, 168, 186, 539, 545, 562, 568, 571, 606, 646, 757, 760, 765, 766, 768, 769, 771773, 775, 776, 785790, 793, 795797, 800, 803, 818820, 822847, 875

glGetInternalformati64v(), 760

glGetInternalformativ(), 343, 760, 846

glGetMultisamplefv(), 186, 760, 847

glGetNamedBufferSubData(), 109, 110, 615

glGetObjectLabel(), 760, 768, 770, 780, 784, 790, 794, 798, 799, 801, 816, 818, 821, 876

glGetObjectPtrLabel(), 760, 876

glGetPointerv(), 760

glGetProgramBinary(), 761, 801

glGetProgramInfoLog(), 77, 761, 800

glGetProgramInterfaceiv(), 761, 812

glGetProgramiv(), 77, 642, 761, 800804, 806, 807, 809

glGetProgramPipelineInfoLog(), 761, 799

glGetProgramPipelineiv(), 761, 799

glGetProgramResourceIndex(), 761

glGetProgramResourceiv(), 761, 813815

glGetProgramResourceLocation(), 761

glGetProgramResourceLocationIndex(), 761

glGetProgramResourceName(), 761

glGetProgramStageiv(), 761, 807, 808

glGetQuery*(), 184

glGetQueryIndexediv(), 762

glGetQueryiv(), 762, 844, 847

glGetQueryObjecti64v(), 762

glGetQueryObjectiv(), 182, 762, 816

glGetQueryObjectui64v(), 762, 880

glGetQueryObjectuiv(), 182, 551, 762, 816, 880, 881

glGetRenderbufferParameteriv(), 762, 793, 794

glGetSamplerParameter*(), 783, 784

glGetSamplerParameterfv(), 762, 783

glGetSamplerParameterIiv(), 762

glGetSamplerParameterIuiv(), 762

glGetSamplerParameteriv(), 762, 783

glGetShaderInfoLog(), 75, 762, 798

glGetShaderiv(), 75, 762, 798

glGetShaderPrecisionFormat(), 762

glGetShaderSource(), 763, 798

glGetString(), 757, 763, 827

glGetStringi(), 763, 827

glGetSubroutineIndex(), 82, 763

glGetSubroutineUniformLocation(), 81, 763

glGetSynciv(), 603, 763, 821

glGetTexImage(), 103, 615, 763, 776, 777

glGetTexLevelParameter*(), 781, 782

glGetTexLevelParameterfv(), 763

glGetTexLevelParameteriv(), 763

glGetTexParameter*(), 778780

glGetTexParameterfv(), 763, 779

glGetTexParameterIiv(), 763

glGetTexParameterIuiv(), 763

glGetTexParameteriv(), 763, 779, 780

glGetTextureHandleARB(), 338340

glGetTextureImage(), 274, 275, 278

glGetTextureParameteriv(), 344

glGetTextureSamplerHandleARB(), 338, 339

glGetTransformFeedbackVarying(), 763, 803

glGetUniform*(), 801

glGetUniformBlockIndex(), 65, 764

glGetUniformdv(), 764

glGetUniformfv(), 764

glGetUniformIndices(), 66, 67, 764

glGetUniformiv(), 764

glGetUniformLocation(), 47, 583, 764, 801

glGetUniformSubroutineuiv(), 764

glGetUniformuiv(), 764

glGetVertexAttribdv(), 764

glGetVertexAttribfv(), 764, 816

glGetVertexAttribIiv(), 764

glGetVertexAttribIuiv(), 764

glGetVertexAttribiv(), 764, 767, 768

glGetVertexAttribLdv(), 765

glGetVertexAttribPointerv(), 765, 767

glHint(), 189, 190

glInvalidateBufferData(), 116

glInvalidateBufferSubData(), 116

glInvalidateFramebuffer(), 354, 362, 363

glInvalidateNamedFramebufferData(), 354

glInvalidateNamedFramebufferSubData(), 354

glInvalidateSubFramebuffer(), 362, 363

glInvalidateTexImage(), 354, 355

glInvalidateTexSubImage(), 354, 355

glIsBuffer(), 20

glIsEnabled(), 31, 164, 168, 757, 765, 769, 771775, 785787, 816, 847

glIsEnabledi(), 367, 785, 787

glIsFramebuffer(), 350

glIsProgram(), 78, 79

glIsQuery(), 180

glIsRenderbuffer(), 356

glIsSampler(), 289

glIsShader(), 78

glIsSync(), 605

glIsTexture(), 261

glIsTransformFeedback(), 232

glIsVertexArray(), 18

glLineWidth(), 98

glLinkProgram(), 48, 62, 66, 76, 77, 89, 238, 549, 637, 639, 660

glLogicOp(), 178, 179

glMakeTextureHandleNonResidentARB(), 339, 340

glMakeTextureHandleResidentARB(), 339, 340

glMapBuffer(), 62, 110113, 142, 544, 826

glMapNamedBufferRange(), 105, 111, 113115, 604

glMemoryBarrier(), 614, 616

glMinSampleShading(), 187, 188

glMultiDrawArrays(), 129

glMultiDrawArraysIndirect(), 131

glMultiDrawElements(), 129, 130

glMultiDrawElementsBaseVertex(), 129, 130

glMultiDrawElementsIndirect(), 131

glNamedBufferStorage(), 11, 21, 22, 103106, 108, 112, 235, 370

glNamedBufferSubData(), 64, 105, 106, 108, 110, 112, 615

glNamedFramebufferParameteri(), 351

glNamedFramebufferRenderbuffer(), 359

glNamedFramebufferTexture(), 352

glNamedFramebufferTextureLayer(), 352, 569

glNamedRenderbufferStorage(), 357

glNamedRenderbufferStorageMultisample(), 357

global illumination, 398

glObjectLabel(), 875, 876

glObjectPtrLabel(), 875, 876

glPatchParameterfv(), 507, 508, 513

glPatchParameteri(), 499501, 512

glPauseTransformFeedback(), 245, 246

glPixelStore*(), 689

glPixelStoref(), 275

glPixelStorei(), 275

glPointParameter(), 347

glPointParameterf(), 347

glPointParameterfv(), 347

glPointParameteri(), 347

glPointParameteriv(), 347

glPointSize(), 97, 98

glPolygonMode(), 100, 172

glPolygonOffset(), 172, 173

glPopDebugGroup(), 869, 874, 875

glPrimitiveRestartIndex(), 134

glProgramParameteri(), 84

glProgramUniform(), 85

glProgramUniform*(), 85, 86

glProgramUniformMatrix(), 85

glProgramUniformMatrix*(), 85, 86

glProvokingVertex(), 536

glPushDebugGroup(), 868, 874, 875

glQueryCounter(), 881

glReadBuffer(), 193, 362, 365, 366

glReadPixels(), 103, 191193, 365, 366

glRenderbufferStorage(), 358

glRenderbufferStorageMultisample(), 358

glResumeTransformFeedback(), 246

glSampleCoverage(), 165

glSampleMaski(), 166

glSamplerParameter{fi}(), 289

glSamplerParameter{fi}v(), 289

glSamplerParameterf(), 289, 330

glSamplerParameterfv(), 289

glSamplerParameteri(), 289, 290, 313, 329, 330

glSamplerParameterI{i ui}v(), 289

glSamplerParameteriv(), 289

glScissor(), 164, 165

glScissorArrayv(), 567

glScissorIndexed(), 567, 568

glScissorIndexedv(), 567

glShaderBinary(), 88, 89, 93

glShaderSource(), 74, 89, 523, 573, 639, 660

GLSL, 22, 3493

.length(), 45

#version, 23, 37

align, 63

arrays, 44

barrier(), 501, 646, 647, 656

blocks, 61

bool, 40, 41

boolean types, 38

buffer, 49, 61, 63, 649

buffer block, 49

buffer blocks, 70

centroid, 751

clamp(), 456

coarse derivative, 464

column major, 63

const, 46

constructors, 40

control flow, 52

conversions, 40

defined, 57

derivative, 461

coarse, 464

fine, 464

dFdx(), 461, 465, 472

dFdxCoarse(), 465

dFdxFine(), 465

dFdy(), 461, 465, 472

dFdyCoarse(), 465

dFdyFine(), 465,

discard, 98

dmat4, 120

do-while loop, 52

double, 3941, 50, 120

dvec2, 120

dvec3, 120

dvec4, 120

extensions, 60

false, 40, 715, 716

fine derivative, 464

flat, 436, 751

float, 3941, 50, 122, 438

floating-point types, 38

for loop, 52

functions, 53

fwidth(), 462, 465, 466, 470, 471

fwidthCoarse(), 465

fwidthFine(), 465

groupMemoryBarrier(), 648

if-else statement, 51

image, 578

implicit conversions, 40

in, 37, 46, 47, 54, 61, 187, 463, 503

in blocks, 71

inout, 54

int, 40, 41, 50, 119, 438

integer types, 38

interface block, 61

invariant, 55

isolines, 509

ivec2, 119

ivec3, 119

ivec4, 119

layout, 364, 501, 502, 509, 510, 512, 514

length(), 71

location, 364

mat4, 122

matrix, 41, 42

memoryBarrier(), 647

memoryBarrierAtomicCounter(), 647

memoryBarrierBuffer(), 647

memoryBarrierImage(), 647

memoryBarrierShared(), 647

mix(), 456, 493

noperspective, 751

offset, 63

operator precedence, 50

operators, 50

out, 37, 47, 54, 61, 364, 429, 436, 502, 503, 509

out blocks, 71

packed, 63

parameter qualifiers, 54

precise, 519

precise qualifier, 56

preprocessor, 5760

#extension, 60

#if,#else,#endif, 57

#version, 23, 37

__FILE__, 58

__LINE__, 58

__VERSION__, 58

quads, 509, 512, 514, 517

row_major, 63

sample, 187

shared, 49, 63

shared storage, 49

smoothstep(), 430, 438439, 456, 461, 463, 471

std140, 63

std430, 63

step(), 460

storage qualifiers, 46

structures, 44

subroutines, 79

switch statement, 51

triangles, 509

true, 40, 715, 716, 725

uint, 40, 41, 50, 119

uniform, 37, 47, 49, 61, 63, 225, 377, 380, 382, 395

uniform block, 6170

uvec2, 119

uvec3, 119

uvec4, 119

vec2, 122

vec3, 122, 124, 464, 492

vec4, 37, 122, 124, 437, 438, 514, 590

vectors, 41, 42

vectors, component names, 43

while loop, 52

xfb_buffer, 242

xfb_offset, 242

xfb_stride, 242

glSpecializeShader(), 89, 91

glStencilFunc(), 158, 166, 167

glStencilFuncSeparate(), 166, 167

glStencilMask(), 158

glStencilMaskSeparate(), 158

glStencilOp(), 166, 167

glStencilOpSeparate(), 167, 168

glTexImage*D(), 615

glTexSubImage*D(), 615

glTextureBuffer(), 315, 371

glTextureBufferRange(), 316

glTexturePageCommitmentEXT(), 342, 343

glTextureParameter{fi}(), 290

glTextureParameter{fi}v(), 290

glTextureParameterf(), 290, 330

glTextureParameterfv(), 290

glTextureParameteri(), 290, 297, 313, 314, 341, 343, 421

glTextureParameterI{i ui}v(), 290

glTextureParameterIiv(), 290

glTextureParameterIuiv(), 290

glTextureParameteriv(), 290, 298

glTextureStorage*D(), 341

glTextureStorage1D(), 261263, 265, 279, 286

glTextureStorage2D(), 261263, 265, 272, 279, 286, 305, 317, 328, 330, 370

glTextureStorage2DMultisample(), 265

glTextureStorage3D(), 261263, 265, 279, 286, 302, 584

glTextureStorage3DMultisample(), 265

glTextureSubImage1D(), 267

glTextureSubImage2D(), 103, 262, 267269, 272, 275, 276, 283, 328, 342, 370, 584

glTextureSubImage3D(), 267, 278, 279, 305

glTextureView(), 317

glTransformFeedbackBufferBase(), 233

glTransformFeedbackBufferRange(), 234, 235

glTransformFeedbackVaryings(), 237, 238, 242, 548, 549

glUniform(), 48

glUniform*(), 9, 48, 86

glUniform1i(), 299, 579, 583

glUniform2f(), 9

glUniform2fv(), 9

glUniform3fv(), 9

glUniformBlockBinding(), 66

glUniformMatrix(), 48

glUniformMatrix*(), 48, 49, 85, 86

glUniformMatrix4fv(), 566

glUniformSubroutinesuiv(), 82

glUnmapNamedBuffer(), 111, 113115

glUseProgram(), 77, 78, 83, 84, 86, 639, 641, 660, 687

glUseProgramStages(), 84

glVertexArrayAttribFormat(), 28

glVertexArrayVertexBuffers(), 28

glVertexAttrib(), 122

glVertexAttrib*(), 122124

glVertexAttrib4(), 122

glVertexAttrib4N(), 122

glVertexAttrib4N*(), 26

glVertexAttrib4Nub(), 122

glVertexAttribDivisor(), 139, 149

glVertexAttribI(), 123

glVertexAttribI*(), 123

glVertexAttribI4(), 123

glVertexAttribIPointer(), 119, 123

glVertexAttribL(), 123

glVertexAttribL*(), 123

glVertexAttribLPointer(), 120

glVertexAttribN*(), 159

glVertexAttribPointer(), 2628, 30, 103, 117122, 139, 159

glViewport(), 227

glViewportArrayv(), 563, 564, 567

glViewportIndexedf(), 563, 564, 566

glViewportIndexedfv(), 563

glWaitSync(), 606, 845

GLX

glXCreateContextAttribsARB(), 865

Gouraud shading, 160

GPGPU, 348, 363

gradient, 462

gradient vector, 462

graphics processing unit, 4

greaterThan(), 724

greaterThanEqual(), 724

groupMemoryBarrier(), 755

half-space, 99

halo, 398

handle, 338

hemispherical lighting, 399

hidden-line removal, 171

hidden-surface removal, 155

homogeneous clip coordinates, 200

homogeneous coordinates, 200, 206, 207

image processing, 654

image-based lighting, 403

imageAtomicAdd(), 595, 747

imageAtomicAnd(), 595, 748

imageAtomicCompSwap(), 596, 749

imageAtomicExchange(), 596, 748

imageAtomicMax(), 595, 748

imageAtomicMin(), 595, 748

imageAtomicOr(), 596, 748

imageAtomicXor(), 596, 748

imageLoad(), 585, 747

imageSize(), 586, 587, 747

imageStore(), 586, 747

immutable, 262

impostor, 571

imulExtended(), 726

init(), 8, 15, 16, 24, 26, 28, 157, 684

input-patch vertex, 501

instanced rendering, 95

instancing

geometry shader, 561562

intBitsToFloat(), 717

interface block, 61, 526, 528

interpolate, 160

interpolateAtCentroid(), 751

interpolateAtOffset(), 752

interpolateAtSample(), 751

interpolation, 900

invariance, 54

inverse(), 723

inversesqrt(), 712

invocation, 55

compute shader, 637

isinf(), 716

isnan(), 716

IsTextureHandleResidentARB(), 340

jaggies, 188

lacunarity, 478

layered rendering, 537, 562572

layout qualifier, 24, 523, 580, 638

ldexp(), 718

length(), 720

lens flare, 398

lessThan(), 724

lessThanEqual(), 724

level of detail, 325, 331

light probe, 403

lighting, 72

ambient, 377

directional, 379

emissive, 394

hemispherical, 399

image-based, 403

material properties, 394

multiple lights, 390

point lights, 382

spherical harmonics, 409

spotlight, 385

two-sided, 396

linked list, 622

LoadImage.h, 270

LoadShaders(), 8, 22, 23, 79, 684, 686, 687

LoadShaders.h, 22

local viewer, 398

log(), 711

log2(), 712

logical operation, 178

lossless compression, 285

lossy compression, 285

low-pass filtering, 460

luminance, 43

magnification, 321

MakeTextureHandleNonResidentARB(), 339

MakeTextureHandleResidentARB(), 339

mantissa, 282

material, 72

matrices, 7

matrix, 205

column major, 225

multiplication, 205

OpenGL, 223

row major, 225

matrixCompMult(), 722

max(), 714

memory

read-only, 611

memoryBarrier(), 754

memoryBarrierAtomicCounter(), 755

memoryBarrierBuffer(), 755

memoryBarrierImage(), 755

memoryBarrierShared(), 755

min(), 714

minification, 321

magnification, 326

mipmap, 258

mipmaps, 324

mix(), 715

mod(), 714

model coordinates, 200

modeling transformation, 199

models, 4

modf(), 714

modulate, 376

monitor, 349

multisampling, 156, 185

mutex, 598

nanosecond, 880

near plane, 202, 218, 226

network, 3

noise, 472494

gradient noise, 478

granite, 489

marble, 489

octave, 476

turbulence, 487

wood, 490

normal, 376

normal map, 453

normal maps, 452

normal vector, 222

normal vectors

transforming, 851

normalize(), 721

normalized device coordinates, 200

normalized homogeneous coordinates, 200

normalized value, 159

normalized device coordinates, 22

not(), 725

notEqual(), 725

object xxxix

label, 875

object coordinates, 200

occlusion query, 179, 889

octave, 476

off-screen rendering, 349

opaque types, 38

optimization

loop hoisting, 607

orthographic, 203

orthographic projection, 220

orthographic viewing model, 203

outerProduct(), 723

overloading, 40

pack, 106

packDouble2x32(), 719

packHalf2x16(), 720

packSnorm2x16(), 718

packSnorm4x8(), 718

packUnorm2x16(), 718

packUnorm4x8(), 718

pass-through shader, 11

patch, 12, 498

performance profiling, 877

Perlin noise, 473

perspective correction, 751

perspective division, 203

perspective projection, 199, 202, 217

Phong reflection model, 390

Phong shading, 390

pixel, 4

point, 4

point fade threshold, 347

point lighting, 382

point sampling, 455

point sprites, 344

polygon, 100

polygon culling, 101

polygon faces, 101

polygon offset, 417

pow(), 711

primitive generator, 499

procedural shading, 424

procedural texture shader, 424

procedural texturing, 424444

brick, 431

lattice, 442

regular patterns, 426

toy ball, 434

programmable blending, 622

projective texturing, 333, 421

protocol, 3

proxy texture, 256, 264

quadrilateral, 294

queries

timer, 880

race condition, 658

radians(), 708

rasterization, 3

disabling, 523

rasterizer, 12, 163

ray tracing, 4

readonly, 611

reflect(), 722

refract(), 722

renderbuffer, 348

rendering, 4

rendering pipeline, 10

resident, 339

resolved, 185

restrict, 608

restricted pointer, 608

RGB color space, 25, 153

RGBA, 153

rotation, 215

round(), 713

roundEven(), 713

sample, 185

sample shader, 187

sampler, 642

object, 287

sampler variables, 259

samples, 36

scaling, 212

scissor box, 164

scissor test, 567

scissoring, 164

separate shader objects, 83

server, 3

shader, 3

compiling, 639

compute, 36, 635661

fragment, 36

geometry, 35, 522

subroutines, 79

tessellation, 35, 522

vertex, 35

shader plumbing, 8

shader program, 8

shader stage, 4

shader storage buffer, 46

shader storage buffer object, 71

shader variable, 23

shadow coordinates, 419

shadow map, 413

shadow mapping, 413

shadow sampler, 313

shadow texture, 415

shared exponent, 282

shared variables, 645

sign(), 712

sin(), 709

sinh(), 710

sky box, 307

slice, 258

smoothstep(), 716

sorting, 629

spaces

clip space, 200

eye, 397

eye space, 200

model space, 200

object space, 200

specialization constants, 86, 90

specular light, 376

spherical harmonic lighting, 409

SPIR-V, 86

spotlight, 385

sprite, 98

sqrt(), 712

sRGB color space, 153, 282

state, 4

stencil buffer, 156

stencil testing, 13

step(), 716

stereo, 156

stipple, 170

storage qualifiers, 46

structures, 44

subpixel, 156

subroutines, 79

supersampling, 457

surface-local coordinate space, 446

surface-local coordinates, 446

sync object, 602

synchronization, 591, 646

tan(), 709

tangent space, 447

tanh(), 710

temporal aliasing, 456

tessellated, 12

tessellation

control shaders, 500503

bypassing, 507

gl_in variable, 502

gl_out variable, 502

other variables, 503

pass-through, 507

cracking along shared edges, 518

displacement mapping, 520

domains

isolines, 505

quads, 504505

selecting, 509

triangles, 505507

evaluation shaders, 508522

coordinate spacing options, 509510

gl_in variable, 511

gl_out variable, 512

other variables, 512

patches, 499500

primitive winding, 509

tessellation coordinates, 510

view-dependent, 516518

tessellation control shader, 498

tessellation coordinates, 498

tessellation domain, 497

tessellation evaluation shader, 498

tessellation level factor, 501

tessellation output patch vertices, 501

tessellation shader, 35, 526

control, 35

evaluation, 35

tessellation shaders, 498

texelFetch(), 316, 734

texelFetchOffset(), 734, 735

texels, 258

texture

array, 258

buffer, 314317, 585

compressed, 285287

cube map, 571

gathering texels from, 336

proxy, 264

rectangle, 259

sparse, 341

target, 259

unit, 259

view, 317321

writing to, 587

texture comparison mode, 415

texture coordinates, 258

texture map, 14, 159

texture mapping, 8, 159

texture object, 258

texture sampler, 258

texture streaming, 330

texture swizzle, 297

texture targets, 259

texture unit, 259

texture view, 317

texture(), 291, 305, 313, 731, 732

textureGather(), 336, 741

textureGatherOffset(), 741, 742

textureGatherOffsets(), 742

textureGrad(), 332, 737

textureGradOffset(), 337, 738, 739

textureLod(), 331, 733

textureLodOffset(), 735, 736

textureOffset(), 333, 733, 734

TexturePageCommitmentEXT(), 342

textureProj(), 334, 732

textureProjGrad(), 337, 739

textureProjGradOffset(), 337, 739, 740

textureProjLod(), 337, 736

textureProjLodOffset(), 337, 736, 737

textureProjOffset(), 337, 735

textureQueryLevels(), 335, 731

textureQueryLod(), 334, 730

textures

binding to image units, 582

bindless, 337

textureSamples(), 336, 731

textureSize(), 335, 730

timeout, 603

transform feedback, 231, 544561

objects, 231

particle system example, 246

starting and stopping, 244

varyings, 236

transform feedback object, 231

transformation matrices, 11, 851

transformation matrix

projection

orthographic, 220

perspective, 217

rotation, 215

scaling, 212

translation, 210

transformations

model-view, 200

modeling, 199

normals, 221

orthographic projection, 220

perspective projection, 199, 202, 217

rotation, 215

scaling, 212

translation, 210

viewing, 199

viewport, 200

translation, 210

transparency

order-independent, 621

transparent types, 38

transpose(), 723

trunc(), 713

turbulence, 487

typed array, 688

uaddCarry(), 726

uintBitsToFloat(), 717

umulExtended(), 726

uniform block, 6170, 642

uniform buffer object, 62

uniform variable, 47

unit square, 504

universe

end of, 880

unpack, 103

unpackDouble2x32(), 720

unpackHalf2x16(), 720

unpackSnorm2x16(), 719

unpackSnorm4x8(), 719

unpackUnorm2x16(), 719

unpackUnorm4x8(), 719

usubBorrow(), 726

Utah teapot, 512

vector, 7, 205

vertex, 11

vertex shader, 4, 35

vertex winding, 509

vertex-array object, 16

vertex-attribute array, 26

vglLoadImage(), 266, 270273

vglLoadTexture(), 273, 274

vglUnloadImage(), 271, 273

viewing frustum, 200

viewing model, 198

viewing transformation, 199

viewpoint, 163

viewport, 12

index, 568

multiple, 562572

transform, 200

vmath::frustum(), 219

vmath::lookAt(), 220

vmath::ortho(), 221

vmath::rotate(), 217

vmath::scale(), 214

vmath::translate(), 211

volatile, 608

voxel, 302

WebGL

InitShaders(), 686, 687

onload(), 689

setupWebGL(), 683, 684

WGL

wglCreateContext(), 864

wglCreateContextAttribsARB(), 864

wglGetProcAddress(), 864

winding, 101

window coordinates, 200

window system, 864865

wire frame, 172

workgroup, 637, 642

world coordinates, 200

write only, 611

X Window System, 3

z precision, 227

z-buffer, 156

z-buffering, 13

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.12.107.29