OPENGL.PAS单元函数一览表

来源:互联网 发布:java企业面试题 编辑:程序博客网 时间:2024/04/27 23:40
说明: 我们这里总共列出的函数是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字体;
原创粉丝点击