说明: 我们这里总共列出的函数是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字体; |
OPENGL.PAS单元函数一览表
最新推荐文章于 2022-06-03 11:59:32 发布