Opengl API简介

来源:互联网 发布:flotherm软件正版价格 编辑:程序博客网 时间:2024/05/24 06:59

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

glCompressedTexImage1DglCompressedTexImage2D

glCompressedTexImage3D

加载一个以压缩格式存储的纹理定义一个一维、二维或三维的纹理

265

glCompressedTexSubImage1DglCompressedTexSubImage2D

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

glDrawArrays

创建了一个几何图元序列

50

glDrawArraysInstanced

多次有效的调用glDrawArrays()

54

glDrawBufferglDrawBuffers

选择用与写入或清除的颜色缓冲区

314

glDrawElements

使用count个元素定义一个几何图元序列,这些元素的索引值保存在indices数组中

48

glDrawElementsInstanced

多次有效的调用glDrawElements ()

54

glDrawPixels

将一组数据从内存写入帧缓冲区

213

glDrawRangElements

创建了一个几何图元序列

50

 

E

 

glEdgeFlagglEdgeFlagv

表示一个顶点是否应该被认为是多边形的一条边界边的起点

41

glEdgeFlagPointer

定义一个边缘标志数组

45

glEnable, glDisable

打开或关闭OpenGL的特殊功能

31

glEnablei, glDisablei

为缓冲区打开或关闭混合

325

glEnableClientState,

glDisableClientState

指定需要启用或禁用的数组

44

glEnableVertexAttribArray,

glDisableVertexAttribArray

启用或禁用顶点属性数组

457

glEvalCoord1glEvalCoord2

启用一维或二维求值器执行计算

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

从当前目标纹理调色板得到颜色表数据

 

glGetColorTableParameterfvglGetColorTableParameteriv

从颜色表中得到调色板参数

 

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

glMultiDrawElements

调用一系列的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

glStencilFuncglStencilFuncSeparate

设置模板测试所使用的比较函数、参考值和掩码

318

glStencilMaskglStencilMaskSeparate

设置掩码,把写入控制在指定的缓冲区

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