ps:红宝书 OpenGL编程指南(原书第七版),李军等译.北京:机械工业出版社
API | 简介 | 红宝书页码 |
| A |
|
glAccum | 操作累加缓冲区 | 327 |
glAddSwapHintRectWIN | 定义一组被SwapBuffers拷贝的三角形 |
|
glActiveTexture | 选择可以由纹理函数进行修改的当前纹理单位 | 297 |
glAlphaFunc | 设置用于alpha测试的参考值和比较函数 | 317 |
glAreTexturesResident | 查询n个纹理对象的纹理常驻状态 | 280 |
glArrayElement | 获取当前所有以启用数组的一个顶点的数据 | 47 |
glAttachShader | 关联着色器对象和程序 | 430 |
| B |
|
glBegin,glEnd | 定义一个或一组原始的顶点 | 28 |
glBeginConditionalRender,glEndConditionalRender | 根据遮挡查询的结果删除一些OpenGl渲染命令 | 325 |
glBeginQuery, glEndQuery | 开始或结束一次遮挡查询 | 323 |
glBeginTransformFeedback, glEndTransformFeedback | 开始或结束变换反馈模式 | 459 |
glBindAttribLocation |
| 456 |
glBindBuffer | 指定当前的活动缓冲区对象 | 58 |
glBindBufferRange, glBindBufferBase |
| 441 |
glBindFragDataLocation |
| 463 |
glBindFrameBuffers | 指定一个真缓冲区对象用于读取或写入 | 332 |
glBindRenderBuffers | 创建一个有名称的渲染缓冲区对象 | 334 |
glBindTexture | 允许建立一个绑定到目标纹理的有名称的纹理 | 278 |
glBindVertexArray | 把要使用的顶点数组数据的集合与单个已分配的对象关联起来 | 65 |
glBitmap | 绘制一个位图 | 205 |
glBlendColor | 设置混合操作的常量颜色 | 154 |
glBlendEquation | 指定混合方式 | 154 |
glBlendEquationSeparate | 指定混合方式 | 154 |
glBlendFunc | 像素混合算法 | 153 |
glBlendFuncSeparate | 类似glBlendFunc() | 153 |
glBlitFramebuffer | 复制像素矩形 | 340 |
glBufferData | 分配存储单位 | 58 |
glBufferSubData | glBufferSubData()指向的数据更新glBufferData()的数据 | 60 |
| C |
|
glCallList | 执行一个显示列表 | 193 |
glCallLists | 执行n列显示列表 | 195 |
glCheckFramebufferStatus | 返回帧缓冲区完整性状态 | 339 |
glClampColor | 指定主颜色值和辅助颜色值是否截取 | 120 |
glClear | 用当前值清除缓冲区 | 21 |
glClearAccum | 为累加缓冲区指定用于清除的值 | 312 |
glClearBuffer | 清除缓冲区 | 313 |
glClearBufferfi | 清除深度缓冲区和模板缓冲区 | 313 |
glClearColor | 为色彩缓冲区指定用于清除的值 | 21/312 |
glClearDepth | 为深度缓冲区指定用于清除的值 | 312 |
glClearIndex | 在颜色索引模式下设置当前的清除颜色 | 121/312 |
glClearStencil | 为模板缓冲区指定用于清除的值 | 312 |
glClientActiveTexture | 用顶点数组指定纹理坐标数据 | 299 |
glClipPlane | 定义被裁剪的一个平面几何体 | 102 |
glColor | 设置当前色彩 | 119 |
glColorMask | 设置掩码,把写入控制在指定的缓冲区 | 315 |
glColorMaterial | 使一个材质色彩指向当前的色彩 | 143 |
glColorPointer | 定义一列色彩数组 | 45 |
glColorTable | 定义颜色表 | 231 |
glColorTableParameter | 指定需要设置缩放和偏移值的颜色表 | 232 |
glColorSubTable | 定义目的纹理的调色板的一部分被替换 | 234 |
glConvolutionFilter1D | 一维的卷积过滤器 | 238 |
glConvolutionFilter2D | 二维的卷积过滤器 | 235 |
glConvolutionParameter | 设置卷积过滤器的执行方式 | 239 |
glCompileShader | 编译着色器对象的源代码 | 429 |
glCompressedTexImage1D,glCompressedTexImage2D glCompressedTexImage3D | 加载一个以压缩格式存储的纹理定义一个一维、二维或三维的纹理 | 265 |
glCompressedTexSubImage1D,glCompressedTexSubImage2D glCompressedTexSubImage3D | 加载一个以压缩格式存储的纹理定义一个一维、二维或三维的纹理 | 266 |
glCopyConvolutionFilter1D | 一维的卷积过滤器,用颜色缓冲区中的像素初始化 | 239 |
glCopyConvolutionFilter2D | 二维的卷积过滤器,用颜色缓冲区中的像素初始化 | 237 |
glCopyColorSubTable | 使用帧缓冲区的数据来替换部分颜色表 | 234 |
glCopyBufferSubData | 复制缓冲区对象的数据 | 63 |
glCopyColorTable | 使用帧缓冲区的数据来定义颜色表 | 233 |
glCopyPixels | 拷贝帧缓冲区里的像素 | 214 |
glCopyTexImage1D | 将像素从帧缓冲区拷贝到一个单空间纹理图象中 | 260 |
glCopyTexImage2D | 创建一个二维纹理,使用帧缓冲区的数据定义纹理单元 | 255 |
glCopyTexSubImage1D | 从帧缓冲区拷贝一个纹理的子图象 | 259 |
glCopyTexSubImage2D | 从帧缓冲区拷贝一个纹理的子图象 | 260 |
glCopyTexSubImage3D | 从帧缓冲区拷贝一个纹理的子图象 | 263 |
glCreateProgram | 创建一个空的着色器程序 | 429 |
glCreateShader | 创建着色器对象 | 429 |
glCullFace | 定义前面或后面是否能被精选 | 37 |
| D | 432 |
glDeleteBuffers | 删除缓冲区对象 | 63 |
glDeleteFrameBuffers | 删除帧缓冲区对象 | 333 |
glDeleteLists | 删除n个显示列表 | 194 |
glDeleteProgram | 删除着色器程序 | 432 |
glDeleteQueries | 删除n个遮挡查询对象 | 324 |
glDeleteRenderBuffers | 删除渲染缓冲区对象 | 333 |
glDeleteShader | 删除着色器对象 | 432 |
glDeleteTextures | 删除命名的纹理对象 | 280 |
glDeleteVertexArrays | 删除顶点数组对象 | 69 |
glDepthFunc | 设置深度测试的比较函数 | 322 |
glDepthMask | 设置掩码,把写入控制在指定的缓冲区 | 315 |
glDepthRange | 定义z值,在视口变换期间执行 | 97 |
glDetachShader | 删除着色器对象与程序的关联 | 430 |
创建了一个几何图元序列 | 50 | |
glDrawArraysInstanced | 多次有效的调用glDrawArrays() | 54 |
glDrawBuffer,glDrawBuffers | 选择用与写入或清除的颜色缓冲区 | 314 |
使用count个元素定义一个几何图元序列,这些元素的索引值保存在indices数组中 | 48 | |
glDrawElementsInstanced | 多次有效的调用glDrawElements () | 54 |
glDrawPixels | 将一组数据从内存写入帧缓冲区 | 213 |
glDrawRangElements | 50 | |
| E |
|
glEdgeFlag,glEdgeFlagv | 表示一个顶点是否应该被认为是多边形的一条边界边的起点 | 41 |
glEdgeFlagPointer | 定义一个边缘标志数组 | 45 |
glEnable, glDisable | 打开或关闭OpenGL的特殊功能 | 31 |
glEnablei, glDisablei | 为缓冲区打开或关闭混合 | 325 |
glEnableClientState, glDisableClientState | 指定需要启用或禁用的数组 | 44 |
glEnableVertexAttribArray, glDisableVertexAttribArray | 启用或禁用顶点属性数组 | 457 |
glEvalCoord1 ,glEvalCoord2 | 启用一维或二维求值器执行计算 | 364 |
glEvalMesh1,glEvalMesh2 | 求解一维和二维点或线的网格 | 365 |
glEvalPoint1,glEvalPoint2 | 生成及求解一个网格中的单点 |
|
| F |
|
glFeedbackBuffer | 创建一个保存反馈数据的缓冲区 | 399 |
glFinish | 强制以前发出的OpenGL命令完成执行 | 24 |
glFlush | 在有限的时间里强制OpenGL的执行 | 23 |
glFlushMappedBufferRange | 一个缓冲区范围中的值已经修改 | 62 |
glFogf,glFogi,glFogfv,glFogiv | 定义雾参数 | 175 |
glFogCoordf,glFogCoordd | 设置雾坐标 | 178 |
glFogCoordPointer | 定义一列雾坐标数组 | 45 |
glFramebufferRenderbuffer | 渲染缓冲区附加到帧缓冲区对象 | 336 |
glFramebufferTexture1D, glFramebufferTexture2D, glFramebufferTexture3D | 把纹理对象的一层作为渲染附加添加到一个帧缓冲区对象 | 337 |
glFramebufferTextureLayer | 附加一个三维纹理的一层或一个一维数组纹理或一个二维数组纹理作为一个帧缓冲区附加 | 339 |
glFrontFace | 定义多边形的前面和背面 | 37 |
glFrustum | 当前矩阵乘上透视矩阵 | 94 |
| G |
|
glGenBuffers | 在buffers数组中返回n个当前未使用的名称,表示缓冲区对象 | 57 |
glGenFrameBuffers | 分配n个未使用的帧缓冲区对象名 | 332 |
glGenLists | 生成一组空的连续的显示列表 | 191 |
glGenQueries | 返回n个未被使用的名称,可用于遮挡查询对象的名称 | 323 |
glGenRenderBuffers | 分配n个未使用的渲染缓冲区对象名 | 333 |
glGenTextures | 生成纹理名称 | 277 |
glGenVertexArrays | 返回n个未使用的名字作为数组的顶点数组对象 | 65 |
glGenerateMipmap | 为纹理图像生成一组完整的mipmap | 271 |
glGetAttribLocation |
| 456 |
glGetBooleanv, glGetDoublev, glGetFloatv, glGetIntegerv | 返回状态变量 | 32 |
glGetClipPlane | 返回特定裁减面的系数 |
|
glGetColorTable | 从当前目标纹理调色板得到颜色表数据 |
|
glGetColorTableParameterfv,glGetColorTableParameteriv | 从颜色表中得到调色板参数 |
|
glGetError | 返回错误消息 | 405 |
glGetHistogram | 返回柱状图统计信息 | 242 |
glGetLightfv,glGetLightiv | 返回光源参数值 |
|
glGetMapdv,glGetMapfv,glGetMapiv | 返回求值程序参数 |
|
glGetMaterialfv,glGetMaterialiv | 返回材质参数 |
|
glGetMinmax | 返回最小最大值操作的结果 | 234 |
glGetPixelMapfv,glGetpixelMapuiv,glGetpixelMapusv | 返回特定的像素图 |
|
glGetPointerv | 返回顶点数据数组的地址 |
|
glGetPolygonStipple | 返回多边形的点图案 |
|
glGetProgramInfoLog | 返回着色器程序最后一次编译日志 | 430 |
glGetQueryObjectiv, glGetQueryObjectuiv | 返回遮挡查询对象的状态 | 324 |
glGetShaderInfoLog | 返回着色器最后一次编译日志 | 429 |
glGetString | 返回描述当前OpenGl连接的字符串 | 406 |
glGetStringi | 返回与表示索引状态目标的index相关的字符串 | 408 |
glGetTexEnvfv | 返回纹理环境参数 |
|
glGetTexGendv,glGetTexGenfv,glGetTexGeniv | 返回纹理坐标生成参数 |
|
glGetTexImage | 返回一个纹理图象 |
|
glGetTexLevelParameterfv,glGetTexLevelParameteriv | 返回特定细节层的纹理参数 | 256 |
glGetTexParameterfv,glGetTexParameteriv | 返回纹理参数值 |
|
| H |
|
glHint | 控制OpenGL的一些行为(锯齿) | 163 |
glHistogram | 存储一副图像的柱状图数据 | 241 |
| I |
|
glIndex | 建立当前的色彩索引 | 120 |
glIndexMask | 设置掩码,把写入控制在指定的缓冲区 | 315 |
glIndexPointer | 定义一个颜色索引数组 | 45 |
glInitName | 初始化名字堆栈 | 385 |
glInterleavedArrays | 同时定义和允许几个在一个大的数组集合里的交替数组 | 55 |
glIsBuffer | buffer是否存在 | 58 |
glIsEnabled | 被查询的状态当前是禁用或启用状态 | 31 |
glIsEnabledi | 对缓冲区来说,混合是否打开 | 325 |
glIsFrameBuffers | 检查帧缓冲区对象名称 | 333 |
glIsList | 检测显示列表名称 | 194 |
glIsProgram | 检测着色器名称 | 432 |
glIsQuery | 检查遮挡查询名称 | 323 |
glIsRenderBuffers | 检测渲染缓冲区对象名称 | 334 |
glIsShader | 检测着色器对象名称 | 432 |
glIsTexture | 确定一个名字对应一个纹理 | 277 |
glIsVertexArray | 检查顶点数组对象 | 69 |
| L |
|
glLightf,glLighti,glLightfv,glLightiv | 创建光源 | 129 |
glLightModelf,glLightModeli,glLightModelfv,glLightModeliv | 设置光照模型的属性 | 138 |
glLineStipple | 设置直线的当前点画模式 | 33 |
glLineWidth | 以像素为单位设置直线宽度 | 33 |
glLinkProgram | 对链接到程序的所有着色器进行处理 | 430 |
glListBase | 为glCallLists()设定显示列表的偏移量 | 195 |
glLoadIdentity | 把当前矩阵设置为单位矩阵 | 83 |
glLoadMatrixd,glLoadMatrif | 用一个任意矩阵替换当前矩阵 | 84 |
glLoadTransposeMatrix | 用一个任意矩阵替换当前矩阵 | 84 |
glLoadName | 将一个名字调入名字堆栈 | 385 |
glLogicOp | 为色彩索引渲染定义一个逻辑像素操作 | 326 |
| M |
|
glMap1d,glMap1f | 定义一个一维求值程序 | 363 |
glMap2d,glMap2f | 定义一个二维求值程序 | 365 |
glMapBuffer | 返回一个指向缓冲区对象的数据存储的指针 | 60 |
glMapBufferRange | 返回一个指向缓冲区对象的数据存储的指针 | 61 |
glMapGrid1d,glMapGrid1f,glMapgrid2d,glMapGrid2f | 定义一个一维或二维网格 | 367 |
glMaterialf,glMateriali,glMateriafv,glMaterialiv | 为光照模型定义材料属性 | 140 |
glMatrixMode | 定义哪一个矩阵是当前矩阵 | 83 |
glMinmax | 计算一副图像的最小和最大像素值 | 243 |
glMultMatrixd,glMultMatrixf | 用任意矩阵与当前矩阵相乘 | 84 |
glMultTransposeMatrix | 用任意矩阵与当前矩阵相乘 | 84 |
glMultiTexCoord | 为多重纹理指点顶点和纹理坐标 | 298 |
glMultiDrawArrays | 调用一系列的glDrawArrays ()函数 | 51 |
调用一系列的glDrawElements()函数 | 49 | |
| N |
|
glNewList,glEndList | 创建或替换一个显示列表 | 191 |
glNormal3* | 根据参数设置当前的法线向量 | 42 |
glNormalPointer | 设定一个法向数组 | 45 |
| O |
|
glOrtho | 用垂直矩阵与当前矩阵相乘 | 96 |
| P |
|
glPassThrough | 在反馈缓冲区做记号 | 400 |
glPixelMapfv,glPixelMapuiv,glPixelMapusv | 设定像素交换图 | 221 |
glPixelStoref,glpixelStorei | 设定像素存储模式 | 217 |
glPixelTransferf,glPixelTransferi | 设定像素传输模式 | 219 |
glPixelZoom | 设定像素缩放因数 | 222 |
glPointParameteri,glPointParameterf | 设置与点图元的渲染相关的值 | 181 |
glPointSize | 设置被渲染点的宽度,以像素为单位。必须大于0.0,默认1.0 | 32 |
glPolygonMode | 控制一个多边形正面和背面的绘图模式 | 36 |
glPolygonOffset | 设定OpenGL用于计算深度值的比例和单元 | 183 |
glPolygonStipple | 定义填充多边形的当前点画模式 | 38 |
glPrimitiveRestartIndex | 指定一个顶点数组元素索引,用来表示一个新的图元在渲染时的开始位置 | 51 |
glPrioritizeTextures | 设定纹理常驻优先级 | 281 |
glPushAttrib,glPopAttrib | 属性堆栈的压入和弹出操作 | 70 |
glPushClientAttrib,glPopClientAttrib | 在客户属性堆栈存储和恢复客户状态值 | 71 |
glPushMatrix,glPopMatrix | 矩阵堆栈的压入和弹出操作 | 101 |
glPushName,glPopName | 名字堆栈的压入和弹出操作 | 385 |
| R |
|
glRasterPos | 定义像素操作的光栅位置 | 204 |
glReadBuffer | 选择颜色缓冲区 | 314 |
glReadPixels | 从帧缓冲区读取一组数据 | 210 |
glRectd,glRectf,glRecti,glRects,glRectdv,glRectfv,glRectiv,glRectsv | 绘制一个矩形 | 26 |
glRenderMode | 控制应用程序是处于渲染模式、选择模式还是反馈模式 | 384 |
glRenderbufferStorage, glRenderbufferStorageMultisample | 为绑定的渲染缓冲区分配存储空间来存储图像数据 | 334 |
glResetHistogram | 柱状图计数器重置为0 | 243 |
glResetMinmax | 把最小最大值重置为初始值 | 244 |
glRotated,glRotatef | 将旋转矩阵与当前矩阵相乘 | 87 |
| S |
|
glSampleCoverage | 设置参数,解释alpha值 | 172 |
glScaled,glScalef | 将一般的比例矩阵与当前矩阵相乘 | 87 |
glScissor | 定义裁减框 | 316 |
glSelectBuffer | 为选择模式值建立一个缓冲区 | 384 |
glSeparableFilter2D | 二维的可分离卷积过滤器 | 238 |
glSecondaryColor3 | 设置当前辅助颜色 | 303 |
glSecondaryColorPointer | 定义一组辅助颜色索引数组 | 45 |
glShadeModel | 选择平直或平滑着色 | 121 |
glShaderSource | 指定与着色器相关联的着色器源代码 | 429 |
glStencilFunc,glStencilFuncSeparate | 设置模板测试所使用的比较函数、参考值和掩码 | 318 |
glStencilMask,glStencilMaskSeparate | 设置掩码,把写入控制在指定的缓冲区 | 315 |
glStencilOp, glStencilOpSeparate | 设置模板缓冲区的数据的修改方式 | 318 |
| T |
|
glTexCoord | 设置当前纹理坐标 | 284 |
glTexCoordPointer | 定义一个纹理坐标数组 | 45 |
glTexEnvf,glTexEnvi,glTexEnvfv,glTexEnviv | 设置当前的纹理函数 | 282/299 |
glTexGend,glTexGenf,glTexGendv,glTexGenfv,glTexGeniv | 自动生成纹理坐标 | 289 |
glTexImage1D | 定义一个一维的纹理数组 | 259 |
glTexImage2D | 定义一个二维的纹理数组 | 252 |
glTexImage3D | 定义一个三维纹理或一个二维纹理的数组 | 261 |
glTexParameterf,glTexParameteri,glTexParameterfv,glTexParameteriv | 设置纹理参数,控制它的处理方式 | 287 |
glTexSubImage1D | 定义一个一维纹理图像的一部分,用来替换现有的纹理图像 | 260 |
glTexSubImage2D | 定义一个二维纹理图像的一部分,用来替换现有的纹理图像 | 257 |
glTexSubImage3D | 定义一个三维纹理图像的一部分,用来替换现有的纹理图像 | 257 |
glTranslated,glTranslatef | 将当前矩阵与一个表示移动物体的矩阵相乘 | 87 |
glTransformFeedbackVarryings |
| 459 |
| U |
|
glUnmapBuffer | 缓存区对象的更新已完成,并且这个缓冲区可以释放 | 60 |
glUseProgram | 着色器程序对顶点或片段处理 | 430 |
glUniform* |
| 439 |
| V |
|
glValidateProgram | 根据OpenGL状态验证着色器程序 | 432 |
glVertex* | 定义一个顶点 | 27 |
glVertexAttib* |
| 456 |
glVertexPointer | 指定了需要访问的空间坐标数据(顶点数组) | 44 |
glViewport | 设置视窗 | 97 |
| W |
|
glWindowPos | 设置当前光栅位置,不必进行矩阵变换 | 205 |