openGL.pas单元函数一览表

说明: 我们这里总共列出的函数是155个,其中,opengl原函数有112个,glu库有43个。 但是opengl.pas这个单元中的函数总数量足足有五六百个。 但是,这里的确完全列出了这些函数。 如果你仔细一点,你会发现这里列出的函数是opengl.pas中没有的,比如glColor(3,4)(b,bv,d,dv,f,fv,uiv,usv,i,s,sv,ub,ubv), 这个函数其实是glColor3b, glColor3d, glColor3f, glColor3i,glColor3s, glColor3ub, glColor3ui, glColor3us, glColor4b, glColor4d, glColor4f, glColor4i, glColor4s, glColor4ub,glColor4ui, glColor4us, glColor3bv, glColor3dv, glColor3fv, glColor3iv, glColor3sv, glColor3ubv, glColor3uiv, glColor3usv, glColor4bv, glColor4dv, glColor4fv, glColor4iv, glColor4sv, glColor4ubv, glColor4uiv, glColor4usv等32个函数的综合, 之所以这样综合,主要是让我们对这些函数有个总体的认识,这些表面上相似的函数其实也有内在的联系,我们也没有必要意义列出这些函数,因为他们的意义是一样的,只不过具体执行时传送的参数类型不一样。
对于这些以自己的方式重新写就的函数,我们只要知道了原函数,理解他们是不难的。
另外,为了整体性,这里把windows.pas中的相关函数一并列在后面。他们都是从open32.dll中扩展而得到的。
1.glAccum–操作在多重缓冲区中进行;
2.glAlphaFunc–指定Alpha测试函数;
3.glBegin–开始操纵一组点进行画图;
4.glBitmap–再设备上画一指定属性的位图文件;
5.glBlendFunc–指定象素的算法;
6.glCallList– 执行一个显示列表;
7.glCallLists– 执行一组显示列表;
8.glClear–在视口内清除指定参数的缓冲值;
9.glClearAccum–清除多重缓冲;
10.glClearColor– 清除颜色缓冲;
11.glClearDepth–清除深度缓冲;
12.glClearIndex– 清除颜色索引缓冲;
13.glClearStencil– 清除模板缓冲;
14.glClipPlane– 指定一剪切面;
15.glColor(3,4)(b,bv,d,dv,f,fv,uiv,usv,i,s,sv,ub,ubv)–设置当前颜色;
16.glColorMask–禁止/允许向框架缓冲颜色组分中写入单一组分值;
17.glColorMaterial–在追踪当前色时产生一个材质色;
18.glCopyPixels –复制象素;
19.glCullFace –指定是否选择对象前面或背面的面;
20.glDeleteLists –删除一组显示列表;
21.glDepthFunc –指定深度缓冲对比值;
22.glDepthMask –禁止/允许写入深度缓冲;
23.glDepthRange –指定从一般设备坐标系统到窗口坐标系统Z方向的映射;
24.glDisable –使用/关闭GL性能;
25.glDrawBuffer –指定绘入哪一种颜色缓冲;
26.glDrawPixels –向框架缓冲中写入一块象素;
27.glEdgeFlag(v) –指定是否显示边界;
28.glEnable –使用/关闭GL性能;
29.glEnd –结束glbegin()中的操作;
30.glEndList –结束创建或替换显示列表;
31.glEvalCoord(1,2)(d,v,f,fv,) –求一维或二维空间的映射值;
32.glEvalMesh(1,2) –计算一个点或直线的一维或二维的空间转换结果;
33.glEvalPoint(1,2) –产生和计算在网格中的单独的点;
34.glFeedbackBuffer –控制回栈模式;
35.glFinish –结束所有的GL操作;
36.glFlush –限定GL命令在有限时间内完成;
37.glFog(f,fv,i,iv) –指定一些雾化效果参数;
38.glFrontFace –指定前表面和后表面的多边形;
39.glFrustum –用一个透视矩阵操纵当前矩阵;
40.glGenLists生成一个连续的空显示列表;
41.glGetBooleanv –返回一个选中参数的值,glGetDoublev, glGetFloatv, glGetIntegerv的函数意义与此相同;
42.glGetClipPlane –返回指定的切平面的系数;
43.glGetError: GLenum –返回错误信息;
44.glGetLight(fv,iv) –返回光源参数值;
45.glGetMap(dv,fv,iv) –返回由glMap1或glMap2定义的计算参数;
46.glGetMaterial(fv,iv) –返回材质参数;
47.glGetPixelMap(fv,iv,sv) — 返回指定的象素映射;
48.glGetPolygonStipple –返回多边形的图案;
49.glGetString –返回一个描述当前GL连接的字符串;
50.glGetTexGen(dv,fv,iv) –返回材质环境参数;
51.glGetTexImage–返回一个材质图象;
52.glGetTexLevelParameter(fv,iv) –返回指定材质参数的详细信息;
53.glGetTexParameter(fv,iv) –返回材质参数值;
54.glHint –指定指定执行命令的相关信息;
55.glIndexMask –控制向颜色索引缓冲区中写入单独的位;
56.glIndex(d,dv,f,fv,i,iv,s,sv) –设置当前颜色索引;
57.glInitNames –初始化命名栈段;
58.glIsEnabled –测试一指定性能是否可用;
59.glIsList –测试一显示列表是否存在;
60.glLightModel(f,fv,i,iv) 设置灯光模式参数;
61.glLight(f,fv,i,iv) –设置光源参数;
62.glLineStipple –指定线的带状模式;
63.glLineWidth –指定光栅线的宽度;
64.glListBase –为glCallLists设置显示列表基线;
65.glLoadIdentity –用指定的矩阵替换当前矩阵;
66.glLoadMatrix(d,f) –用专门的矩阵替换当前矩阵;
67.glLoadName –装载一个名字到命名栈段;
68.glLogicOp –为颜色索引渲染指定逻辑象素;
69.glMap(1,2)(d,f)–定义一个一维或二维求值程序;
70.glMapGrid(1,2)(d,f) –定义一个一维或二维的网格;
71.glMaterial(f,fv,i,iv) –为光线模式指定材质参数;
72.glMatrixMode –指定矩阵为当前矩阵;
73.glMultMatrix(d,f) –用特定矩阵操纵当前矩阵;
74.glNewList –生成或替换一个显示列表;
75.glNormal3(b,bv,d,dv,f,fv,i,iv,s,sv) –设置当前普通矢量;
76.glOrtho –用投影矩阵操纵当前矩阵;
77.glPassThrough –在回栈缓冲区中放入一个标志;
78.glPixelMap(fv,iv,sv)–设置象素变换映射;
79.glPixelStore(f,i) –设置象素存储模式;
80.glPixelTransfer(f,i) –设置象素变换模式;
81.glPixelZoom –设置象素缩放因素;
82.glPointSize –指定光栅点的直径;
83.glPolygonMode –选取一个多边形光栅化模式;
84.glPolygonStipple –设置多边形光栅带状图案;
85.glPopAttrib –退出特征栈段;
86.glPopMatrix –退出当前矩阵栈段;
87.glPopName –退出命名栈段;
88.glPushAttrib –进入特征栈段;
89.glPushMatrix –进入当前矩阵栈段;
90.glPushName –进入命名栈段;
91.glRasterPos(2,3,4)(d,dv,f,fv,i,iv,s,sv)–为象素操作指定光栅位置;
92.glReadBuffer –为象素选取一个颜色缓冲源;
93.glReadPixels –从框架缓冲区中读取一块象素值;
94.glRect(d,v,f,i) –画一个矩形;
95.glRenderMode–设置渲染模式;
96.glRotate(d,f) –用旋转矩阵来操纵当前矩阵;
97.glScale(d,f) –用一个缩放矩阵来操纵当前矩阵;
98.glScissor –定义一个剪切框;
99.glSelectBuffer –为选项模式值建立一个缓冲区;
100.glShadeModel –选取一个平滑或光滑的阴影;
101.glStencilFunc –为模板测试设置一个函数和参考系;
102.glStencilMask –控制向模板中写入单独的象素位;
103.glStencilOp –设置模板测试行为;
104.glTexCoord(1,2,3,4)(d,dv,f,fv,i,iv,s,sv)–设置当前材质的坐标;
105.glTexEnv(f,fv,i,iv)–设置材质环境参数;
106.glTexGen(d,dv,f,fv,i,iv) –控制材质坐标系统的生成;
107.glTexImage(1D,2D) –指定一个一维或二维的材质图象;
108.glTexParameter(f,FV,I,IV) –设置材质参数;
109.glTranslate(d,f) –用变换矩阵操纵当前的矩阵;
110.glVertex(2,3,4)(d,dv,f,fv,i,iv,s,sv) –指定一个空间矢量;
111.glViewport –设置一个视口;
112.wglGetProcAddress–返回一个当前使用OPENGL渲染环境的OPENGL扩展函数的地址;

{************(glu.h)(OPENGL工具库,以glu-开头)************}
1.gluErrorString –返回一个OPENGL或GLU错误代码。该代码只能是ANSI形式;
2.gluErrorUnicodeStringEXT– 返回一个OPENGL或GLU错误代码。该代码可以扩展的Unicode形式;
3.gluGetString ==获取一个描述GLU版本号或支持GU扩展调用的字符串;
4.gluLookAt –指定一个预览变换矩阵;
5.gluOrtho2D –定义一个二维的正投影矩阵;
6.gluPerspective –设置一个透视投影矩阵;
7.gluPickMatrix –定义一个拾取区域;
8.gluProject –映射对象坐标系统到窗口坐标系统;
9.gluUnProject –映射窗口坐标系统到对象坐标系统;
10.gluScaleImage –缩放一个图象至指定大小;
11.gluBuild1DMipmaps –创建一个一维的mipmaps
12.gluBuild2DMipmaps –创建一个二维的mipmaps
13.gluNewQuadric –创建一个二次曲面对象;
14.gluDeleteQuadric –删除一个二次曲面对象;
15.gluQuadricNormals –指定二次曲面的法线类型;
16.gluQuadricTexture –为二次曲面指定材质;
17.gluQuadricOrientation –为二次曲面指定内部或外部的倾向(方向性)
18.gluQuadricDrawStyle –指定二次曲面的绘制风格;
19.gluCylinder –绘制一个指定属性的圆柱体;
20.gluDisk –绘制一个指定属性的圆盘;
21.gluPartialDisk –绘制一个指定属性圆盘的一段弧;
22.gluSphere –绘制一个指定属性的球体;
23.gluQuadricCallback –为二次曲面对象定义一个回调函数;
24.gluNewTess –创建一个棋盘式对象;
25.gluDeleteTess –删除一个棋盘式对象;
26.gluTessBeginPolygon –该函数和gluTessEndPolygon共同限制一个多边形的描述;
27.gluTessBeginContour –该函数和gluTessEndContour共同限制一个轮廓描述;
28.gluTessVertex –在多边形中指定一个矢量;
29.gluTessProperty –为棋盘式对象设置属性;
30.gluTessNormal –为多边形指定一个法线;
31.gluTessCallback –为棋盘式对象定义一个回调函数;
32.gluNewNurbsRenderer –创建一个NURBS(曲线曲面的非均匀有理B样条)对象;
33.gluDeleteNurbsRenderer–删除一个NURBS(曲线曲面的非均匀有理B样条)对象;
34.gluBeginSurface –该函数和gluEndSurface共同限制一个NURBS表面定义;
35.gluBeginCurve — 该函数和gluEndCurve共同限制一个NURBS曲线定义;
36.gluBeginTrim –该函数和gluEndTrim共同限制一个NURBS焊接循环操作;
37.gluPwlCurve –描述一个分段的线性NURBS焊接曲线;
38.gluNurbsCurve –定义一个NURBS曲线的形状;
39.gluNurbsSurface –定义一个NURBS曲线表面的形状;
40.gluLoadSamplingMatrices –加载NURBS实例并且从中选择一个矩阵;
41.gluNurbsProperty –设置一个NURBS属性;
42.gluGetNurbsProperty –获取一个NURBS属性;
43.gluNurbsCallback –定义一个回调NURBS对象的函数;

windows.pas中的opengl32.dll扩展函数(以wgl-开头)

1.wglCopyContext-复制一个OPENGL绘图设备;
2.wglCreateContext–新建一个OPENGL绘图设备,适于句柄调用;
3.wglCreateLayerContext–新建一个OPENGL层场景环境;
4.wglDeleteContext–删除指定的OPENGL绘图设备环境;
5.wglDescribeLayerPlane–描述指定的OPENGL层板 6.wglGetCurrentContext–获取当前的OPENGL绘图环境句柄;
7.wglGetCurrentDC–获取和调用线程相关的当前OPENGL绘图设备句柄;
8.wglGetLayerPaletteEntries–获取指定OPENGL层的调色板参数;
9.wglMakeCurrent–调用用于设置当前绘图设备的线程,还可以替换当前相关线程;
10.wglRealizeLayerPalette–实现OPENGL层的调色板;
11.wglSetLayerPaletteEntries–设置OPENGL层的调色板参数;
12.wglShareLists–允许多重OPENGL渲染环境共享一个单独的显示列表空间;
13.wglSwapLayerBuffers–交换层缓冲区;
14.wglSwapMultipleBuffers–交换多层缓冲区;
15.wglUseFontBitmaps–创建一个基于指定设备的当前已选择位图显示列表集,用于在OPENGL图象中输出字符;
16.wglUseFontOutlines–创建一个基于指定设备的当前已选择字体显示列表集,用于创建3D的True Type字体;