• OpenGL api说明


    转: OpenGL API 简介

    开发基于 OpenGL 的应用程序,必须先了解 OpenGL 的库函数。它采用 C 语言风 格,提供大量的函数来进行图形的处理和显示。OpenGL 库函数的命名方式非常 有规律。所有 OpenGL 函数采用了以下格式:

    <库前缀><根命令><可选的参数个数><可选的参数类型> 库前缀有 gl、glu、aux、glut、wgl、glx、agl 等等,分别表示该函数属于 OpenGL 那个开发库,从函数名后面中还可以看出需要多少个参数以及参数的 类型。I 代表 int 型,f 代表 float 型,d 代表 double 型,u 代表无符号整型。例如 glVertex3fv()表示了该函数属于 gl 库,参数是三个 float 型参数指针。我们用 glVertex*()
    来表示这一类函数。
    OpenGL 函数库相关的 API 有核心库(gl)、实用库(glu)、辅助库(aux)、实用工 具库(glut)、窗口库(glx、agl、wgl)和扩展函数库等。从图可以看出,gl 是核心,glu 是对 gl 的部分封装。glx、agl、wgl 是针对不同窗口系统的函数。glut 是为跨平台的 OpenGL 程序的工具包,比 aux 功能强大。扩展函数库是硬件厂商为实现硬件更 新利用 OpenGL 的扩展机制开发的函数。下面逐一对这些库进行详细介绍。 1.OpenGL 核心库
    核心库包含有 115 个函数,函数名的前缀为 gl。这部分函数用于常规的、核 心的图形处理。此函数由 gl.dll 来负责解释执行。由于许多函数可以接收不同数以 下几类。据类型的参数,因此派生出来的函数原形多达 300 多个。核心库中的函 数主要可以分为以下几类函数:

    • •

    • •

    • •

    绘制基本几何图元的函数: glBegain()、glEnd()、glNormal*()、glVertex*();

    矩阵操作、几何变换和投影变换的函数:如矩阵入栈函数 glPushMatrix(),矩阵出栈函数 glPopMatrix(),装载矩阵函数 glLoadMatrix(), 矩阵相乘函数 glMultMatrix(),当前矩阵函数 glMatrixMode()和矩阵标准化函数 glLoadIdentity(),几何变换函数 glTranslate*()、glRotate*()和 glScale*(),投影 变换函数 glOrtho()、glFrustum()和视口变换函数 glViewport();

    颜色、光照和材质的函数:如设置颜色模式函数 glColor*()、glIndex*(), 设置光照效果的函数 glLight*() 、glLightModel*()和设置材质效果函数 glMaterial();

    显示列表函数:主要有创建、结束、生成、删除和用显示列表的函数 glNewList()、glEndList()、glGenLists()、glCallList()和 glDeleteLists();

    映射函数:主要有一维纹理函数 glTexImage1D()、二维纹理函数 glTexImage2D()、设置理参数、环境标的函数 glTexParameter*()、glTexEnv*()和 glTetCoord*();

    特殊效果函数:融合函数 glBlendFunc()、反走样函数 glHint()和化效果 glFog*();

    化、象素操作函数:如象素位置 glRasterPos*()、线宽度 glLineWidth()、多形绘制模式 glPolygonMode(),读取象素 glReadPixel()、象素 glCopyPixel();

    择与反馈函数:主要有渲染模式 glRenderMode()、选择缓冲区 glSelectBuffer()和反馈缓冲区 glFeedbackBuffer();

    曲线与曲面的绘制函数:生成曲线或曲面的函数 glMap*()、glMapGrid*(),求值器的函数 glEvalCoord*() glEvalMesh*();

    状态设置与查询函数:glGet*()、glEnable()、glGetError()。

    2.OpenGL 实用库 The OpenGL Utility Library (GLU)

    包含有 43 个函数,函数名的前缀为 glu。OpenGL 提供了强大的是为数不 多的绘图命令,所有较复杂的绘图必须从线、面开。Glu 为了减轻繁重程工作,封装了 OpenGL 函数,Glu 函数通过调用核心库的函数,为开发提供相对简的用,实现一些复杂的操作。此函数由 glu.dll 来负责解释 执行。OpenGL 中的核心库和实用库可以所有的 OpenGL 平台上运行。主要包 了以下几:

    • •

    辅助图函数:gluScaleImage() 、 gluBuild1Dmipmaps()、gluBuild2Dmipmaps();

    标转换和投影变换函数:定义投影方式函数 gluPerspective()、gluOrtho2D() 、gluLookAt(),拾取投影视景体函数 gluPickMatrix(),投影矩阵计算 gluProject()和 gluUnProject();

    镶嵌工具: gluNewTess()、gluDeleteTess()、gluTessCallback()、gluBeginPolygon()、gluTessV ertex()、gluNextContour()、gluEndPolygon();

    二次曲面绘制工具,主要有绘制面、面、面、圆环面 gluNewQuadric()、gluSphere()、gluCylinder()、gluDisk()、gluPartialDisk()、gluDel eteQuadric();

    均匀有理 B 样条绘制工具:主要用来定义和绘制 Nurbs 曲线面,

    gluNewNurbsRenderer()、gluNurbsCurve()、gluBeginSurface()、gluEndSurface( )、gluBeginCurve()、gluNurbsProperty();

    错误反馈工具:获取错信息gluErrorString()。

    3.OpenGL 辅助库

    包含有 31 个函数,函数名前缀为 aux。这部分函数提供窗口理、出 处理以及绘制一些简维物体。此函数由glaux.dll来负责解释执行。创建aux 库是为了学习编写 OpenGL 程序,它更是一个用于测试预备。Aux 库windows 实现有错误,因此很容易导致频繁崩溃跨平台 的程实例和示中,aux 大程度上已经被 glut 库代。OpenGL 中的辅助库 不能所有的 OpenGL 平台上运行。

      辅助库函数主要包以下几类:
    

    • •

    • •

    窗口初始化和退出函数:auxInitDisplayMode()和 auxInitPosition();

    窗口处理和时间输入函数:auxReshapeFunc()、auxKeyFunc()和 auxMouseFunc();

    颜色索引装入函数:auxSetOneColor();

    维物体绘制函数:包两种形式网状体和实心,如绘制auxWireCube()和 auxSolidCube()。这网状体为例,auxWireBox()、 圆纹面 auxWireTorus()、圆柱 auxWireCylinder()、二十auxWireIcosahedron()、auxWireOctahedron()、auxWireTetrahedron()、十二auxWireDodecahedron()、圆锥体 auxWireCone()和茶壶 auxWireTeapot();

    • 背景过理函数:auxIdleFunc();

    • 程序行函数:auxMainLoop()。

    4.OpenGL 工具库 OpenGL Utility Toolkit

    包含大30 多个函数,函数名前缀为 glut。glut 是不依赖于窗口平台的 OpenGL 工具包,由 Mark KLilgrad SGI 编写(在在 Nvidia),的是隐藏 不同窗口平台 API 的复杂度。 函数以 glut 开,它们作为 aux 库功能更强的,提供更为复杂的绘制功能,此函数由 glut.dll 来负责解释执行。由于 glut 中的窗口理函数是不依赖环境的,因此 OpenGL 中的工具库可以在 X- Window, Windows NT, OS/2 等系统下行,适合于开发不需要复杂界面 的 OpenGL 示例程序。对于有经验的程序,一先用 glut 理3D 图形代 ,再集成为整的应用程序。

      这部分函数主要包:
    

    • •

    窗口操作函数:窗口初始化、窗口大、窗口置函数等 [glutInit()、glutInitDisplayMode()、glutInitWindowSize()、glutInitWindowPositio n()];

    回调函数:消息键盘消息消息定时器函数 [GlutDisplayFunc()、glutPostRedisplay()、glutReshapeFunc()、glutTimerFunc()、g lutKeyboardFunc()、glutMouseFunc()];

    创建复杂的三维物体:这些和 aux 库的函数功能相同;

    菜单函数:创建添加菜单的函数 GlutCreateMenu()、glutSetMenu()、glutAddMenuEntry()、glutAddSubMenu()和 glutAttachMenu();

    程序行函数:glutMainLoop()。

    5.Windows 用库

    针对 windows 平台的扩展,包含有 16 个函数,函数名前缀为 wgl。这部分 函数主要用于接 OpenGL 和 Windows ,以弥补 OpenGL 在文本方面的不Windows 用库能用于 Windows 环境中。 这类函数主要包以下几类:

    • •

    绘图相关函数: wglCreateContext()、wglDeleteContext()、wglGetCurrentContent()、wglGetCurr entDC()、wglDeleteContent();

    文字本处理函数:wglUseFontBitmaps()、wglUseFontOutlines();

    覆盖层地层和主平面处理函数: wglCopyContext()、wglCreateLayerPlane()、wglDescribeLayerPlane()、wglReaki zeLayerPlatte();

    其他函数:wglShareLists()、wglGetProcAddress()。

    6.Win32 API 函数库

    包含有 6 个函数,函数名无用前缀,是 win32 扩展函数。这部分函数主要 用于处理像素存储格式和双帧缓存;这 6 个函数将替Windows GDI 中原有的 同的函数。Win32API 函数库能用于 Windows 95/98/NT 环境中。
    7.X 窗口用库

    是针对 Unix 和 Linux 的扩展函数。包括渲染上、绘制图元、显示列表、图等;

    初始化:glXQueryExtension();

    • •

    渲染上函数: glXCreateContext()、glXDestroyContext()、glXCopyContext()、glXMakeCurrent() 、glXCreateGLXPixmap();

    执行:glXWaitGL()、glXWaitX(); 缓冲区字体:glXSwapBuffers()、glXUseXFont()。

    8.其他扩展库

    这些函数可能是新的 OpenGL 函数,并没标准 OpenGL 库中实现,或 者它们是用来扩展已存在的OpenGL函数的功能。和glu、glx和wgl一,这些 OpenGL 扩展是由硬件厂商和厂商组织开发的。OpenGL 扩展(OpenGL Extention)包含了大量的扩展 API 函数。
    随着硬件的更新,硬件厂商SGI 申请登记新的扩展,编写规格说明 书(specification)说明书进行开发扩展程序。不同的 OpenGL 实现 (OpenGL Implementation)支持的扩展可能不一,随着某一扩展的推 广与应用以及硬件技术的提该扩展才会在所有的 OpenGL 实现中被给予支持, 从而最终成为 OpenGL 标准库的一部分。扩展由 SGI 维护,SGI 网站上列出了 开的已注册的扩展及其官说明书。扩展由扩展函数的后缀来指(或 使用扩展常量后缀)。例如,后缀 WIN 表一个符合 Windows 规的扩展,EXT ARB 后缀表该扩展由多个定义

    下面出 OpenGL 方规的命名规:

    • ARB OpenGL Architecture Review Board 式核准的扩展,往往由厂 商开发的扩展发展来,如果同时存在厂商开发的扩展和 ARB 扩展,应该使用 ARB 扩展;

    • EXT OpenGL 厂商同意支持的扩展;

    • HP – Hewlett-Packard 惠普;

    • IBM International Business Machines ;

    • KTX – Kinetix, maker of 3D Studio Max ;

    • INTEL Intel 公司;

    • NV NVIDIA 公司;

    • MESA Brian Pauls freeware portable OpenGL implementation ;

    • SGI Silicon Graphics 公司开发的扩展;

    • SGIX – Silicon Graphics (experimental) 公司开发的实扩展;

    • SUN Sun Microsystems;

    • WIN Microsoft 。

    由于 OpenGL 扩展针对不同平台和不同驱动,OpenGL 不可能所有的 接口程序放到 gl.h、glx.h、wgl.h 中,这些函数了 glext.h、glxext.h 和 wglext.h 中。这些扩展看作OpenGL 核心库规修改

    OpenGl 核心函数库

    glAccum 操作加缓冲区
    glAddSwapHintRectWIN 定义组被 SwapBuffers 拷贝的三形 glAlphaFunc 许设置 alpha 功能
    glAreTexturesResident
    定特定理对在纹

    glArrayElement 定义一个用于点渲染的数成分 glBegin,glEnd 定义一个
    glBindTexture 许建一个理的有名理 glBitmap 绘制一个

    glBlendFunc 特殊像素算法
    glCallList 执行一个显示列表
    glCallLists 执行一列显示列表
    glClear 用当前
    缓冲区
    GlClearAccum 为加缓冲区用于除的glClearColor 为色缓冲区用于除的glClearDepth 为度缓冲区用于除的glClearStencil 为模缓冲区用于除的glClipPlane 定义被裁剪的一个平面几何glColor 设置当前色

    glColorMask 帧缓冲区
    glColorMaterial 使一个材质色当前的色
    glColorPointer 定义一列色
    glColorTableEXT 定义目的一个理的的格式和尺寸 glColorSubTableEXT 定义目理的的一部分被替换 glCopyPixels 拷贝帧缓冲区里像素

    glCopyTexImage1D 将像素帧缓冲区拷贝到一个间纹理图中 glCopyTexImage2D 将像素帧缓冲区拷贝到一个间纹理图中 glCopyTexSubImage1D 帧缓冲区拷贝一个间纹理的glCopyTexSubImage2D 帧缓冲区拷贝一个间纹理的glCullFace 定义前面后面是

    glDeleteLists 删除相显示列表
    gl
    DeleteTextures 删除命名的
    gl
    DepthFunc 定义用于度缓冲区对照的数据 glDepthMask 度缓冲区 glDepthRange 定义 z 值从标准的设备坐映射窗口标 glDrawArrays 定义渲染多个图元

    glDrawBuffer 定义个色缓冲区被绘制 glDrawElements 渲染数据中的图元
    gl
    DrawPixels 组像素写帧缓冲区
    glEdgeFlag 定义一个
    glEdgeFlagPointer 定义一个
    glEnable, glDisable OpenGL 的特殊功能 glEnableClientState,glDisableClientState 分别glEvalCoord 解一二维贴

    glEvalMesh1,glEvalMesh2 求解一二维点或线格 glEvalPoint1,glEvalPoint2 生成及解一个格中的单点 glFeedbackBuffer 反馈模式
    glFinish 等
    待直到 OpenGL 执行结束

    glFlush 时间里强制 OpenGL 的执行

    glFogf,glFogi,glFogfv,glFogiv 定义雾参数
    glFrontFace
    定义形的前面和
    glFrustum 当前矩阵乘
    视矩阵
    glGenLists 生成一
    的显示列表
    glGenTextures 生成
    理名glGetBooleanv,glGetDoublev,glGetFloatv,glGetIntegerv 回值或所选参数glGetClipPlane 回特定面的系数

    glGetColorTableEXT 从当前板得到颜色表数据 glGetColorTableParameterfvEXT,glGetColorTableParameterivEXT 从颜色表中 得到参数
    glGetError
    回错误消息
    glGetLightfv,glGetLightiv 参数glGetMapdv,glGetMapfv,glGetMapiv 回求值程序参数 glGetMaterialfv,glGetMaterialiv 材质参数 glGetPixelMapfv,glGetpixelMapuiv,glGetpixelMapusv 回特定像素图 glGetPointerv 数据数
    glGetPolygonStipple 形的
    glGetString 描述当前 OpenGl 接的
    glGetTexEnvfv 回纹环境参数 glGetTexGendv,glGetTexGenfv,glGetTexGeniv 回纹标生成参数 glGetTexImage 一个理图glGetTexLevelParameterfv,glGetTexLevelParameteriv 回特定理参数的 细节级
    glGetTexParameterfv
    ,glGetTexParameteriv 回纹理参数
    glHint 定义实现特殊线索
    glIndex 建当前的色索引
    glIndexMask 索引缓冲区里
    GlIndexPointer 定义一个颜色索引
    glInitName 初始化名
    glInterleavedArrays 同
    时定义许几个一个大的数组集合里glIsEnabled 定义能是
    glIsList
    显示列表的存在
    glIsTexture 一个名对应一个
    glLightf
    ,glLighti,glLightfv,glLightiv 设置光参数 glLightModelf,glLightModeli,glLightModelfv,glLightModeliv 设置光线模型参数 glLineStipple 设定线点绘图
    glLineWidth 设栅线
    glListBase 为 glcallList 设显示列表的基
    glLoadIdentity 用等矩阵换当前矩阵
    glLoadMatrixd
    ,glLoadMatrif 用一个矩阵换当前矩阵
    glLoadName
    一个名字调入名
    glLogicOp 为色
    索引渲染定义一个逻辑像素操作
    glMap1d
    ,glMap1f 定义一个一维求值程序
    glMap
    2d,glMap2f 定义一个二维求值程序

    glMapGrid1d,glMapGrid1f,glMapgrid2d,glMapGrid2f 定义一个一维或二维网
    glMaterialf
    ,glMateriali,glMateriafv,glMaterialiv 为光照模型定义材质参数 glMatrixMode 定义一个矩阵是当前矩阵

    glMultMatrixd,glMultMatrixf 用当前矩阵矩阵相乘 glNewList,glEndList 创建或替换一个显示列表
    glNormal 设
    当前点法向
    glNormalPointer 设一个法向

    glOrtho 用垂直矩阵当前矩阵相乘
    glPassThrough
    在反馈缓冲区号 glPixelMapfv,glPixelMapuiv,glPixelMapusv 设定像素换图 glPixelStoref,glpixelStorei 设定像素存储模式
    glPixelTransferf
    ,glPixelTransferi 设定像素存储模式
    glPixel
    Zoom 设定像素缩放因数
    glPointSi
    ze 设栅点直径
    glPolygonMode 选一个多形的光模式
    glPolygonOffset 设
    OpenGL 用于计算度值的比例和
    glPolygonStipple 设
    填充
    glPrioritizeTextures 设定纹
    glPushAttrib,glPopAttrib 属性堆栈的入和出操作 glPushClientAttrib,glPopClientAttrib 客户性堆存储客户状态值 glPushmatrix,glPopMatrix 矩阵栈的入和出操作 glPushName,glPopName 名栈的入和出操作
    glRasterPos
    定义像素操作的光栅位
    glreadBuffer 为
    像素一个缓冲区
    glReadPixels 从帧缓冲区读取数据 glRectd,glRectf,glRecti,glRects,glRectdv,glRectfv,glRectiv,glRectsv 绘制一个三
    glRenderMode
    定义模式
    glRotated
    ,glRotatef 转矩阵当前矩阵相乘
    glScaled
    ,glScalef 的比例矩阵当前矩阵相乘
    glScissor
    定义
    glSelectBuffer 为选模式一个缓冲区
    glShadeModel 选
    glStencilFunc 为模
    测试设置功能和参照
    glStencilMask 写单
    glStencilOp 设置激活模式测试
    glTexCoord 设置当前
    glTexCoordPointer
    定义一个标数glTexEnvf,glTexEnvi,glTexEnvfv,glTexEnviv 设定纹环境参数 glTexGend,glTexgenf,glTexGendv,glTexGenfv,glTexGeniv 标的生成 glTexImage1D 定义一个一理图
    glTexImage2D 定义一个二维理图 glTexParameterf,glTexParameteri,glTexParameterfv,glTexParameteriv 设置

    理参数
    glTexSubImage1
    D 定义一个存在的一维纹理图的一部分,但不能定义新的

    glTexSubImage2D 定义一个存在二维纹理图的一部分,但不能定义新的

    glTranslated,glTranslatef 变换矩阵当前矩阵相乘 glVertex 定义一个
    glVertexPointer 设一个数据数
    glViewport 设置视窗

    [OpenGL 应用函数库]

    gluBeginCurve,gluEndCurve 定义不一的有理的 NURBS 曲线 gluBeginPolygon,gluEndPolygon 定义一个非形 gluBeginSurface,gluEndSurface 定义一个 NURBS 曲线 gluBeginTrim,gluEndTrim 定义一个 NURBS 整理gluBuild1Dmipmaps 建重映射

    gluBuild2Dmipmaps 建立二维重映射 gluCylinder 绘制一个圆柱 gluDeleteNurbsRenderer 删除一个 NURBS 对gluDeleQuadric 删除一个二次曲面对gluDeleteTess 删除一个镶嵌

    gluDisk 绘制一个
    gluErrorString 根据 OpenGL GLU 错误错误字gluGetNutbsProperty 得到一个 NURBS 属
    gluGetString 得到一个描述 GLU 本号或支持 GLU 扩展用的gluGetTessProperty 得到一个镶嵌
    gluLoadSamplingMatrices 载 NUMRBS 例选矩阵
    gluLoo
    kAt 设一个变换视
    gluNewNurbsRenderer 创建一个 NURBS 对
    gluNewQuadric 建一个二次曲面对
    gluNewTess 建一个镶嵌
    gluNextContour 为其他轮廓的开
    gluNurbsCallback 为 NURBS 对一个回调
    gluNnrbsCurve 设一个 NuRBS 曲线的形
    gluNurbsProperty 设一个 NURBS 属
    gluNurbsSurface 定义一个 NURBS 表面的形
    gluOrtho2D 定义一个二位正投影矩阵
    gluPartial
    Disk 绘制一个
    gluPerspective 设置一个视投影矩阵
    gluPic
    kMatrix 定义一个拾取区间
    gluProject 象坐映射为窗口
    gluPwlCurve
    描述一个分线NURBS 修剪曲线

    gluQuadricCallback 二次曲面对象定义一个回调 gluQuadricDrawStyle 为二次曲面设定合适的绘制风格 gluQuadricNormals 定义二次曲面所用的法向类 gluQuadricOrientation 定义二次曲部方gluQuadricTexture 定义否带二次其图 gluScaleImage 变换为尺寸

    gluSphere 绘制一个球体 gluTessBeginContour,gluTessEndContour 一个边界描述 gluTessBeginPolygon,gluTessEndPolygon 一个多描述 gluTessCallback 镶嵌象定义一个回调
    gluTessNormal 为一个多行形定义法向
    gluTessProperty 设置镶嵌的属
    gluTessVertex 定义在一个多
    gluUnProject 窗口映射为对象坐

    glAccum 操作加缓冲区
    glAddSwapHintRectWIN 定义组被 SwapBuffers 拷贝的三形 glAlphaFunc 许设置 alpha 功能
    glAreTexturesResident
    定特定理对在纹中 glArrayElement 定义一个用于点渲染的数成分
    glBegin
    ,glEnd 定义一个
    glBindTexture 许建一个理的有名理 glBitmap 绘制一个
    glBlendFunc
    特殊像素算法
    glCallList 执行一个显示列表
    glCallLists 执行一列显示列表
    glClear 用当前
    缓冲区
    GlClearAccum 为加缓冲区用于除的
    glClearColor 为色缓冲区用于除的
    glClearDepth 为度缓冲区用于除的
    glClearStencil 为模缓冲区用于除的
    glClipPlane 定义被裁剪的一个平面几何
    glColor 设置当前色
    glColorMask 帧缓冲区
    glColorMaterial 使一个材质色当前的色
    glColorPointer 定义一列色
    glColorTableEXT 定义目的一个理的的格式和尺寸 glColorSubTableEXT 定义目理的的一部分被替换 glCopyPixels 拷贝帧缓冲区里像素
    glCopyTexImage1D 将像素帧缓冲区拷贝到一个间纹理图中 glCopyTexImage2D 将像素帧缓冲区拷贝到一个间纹理图中 glCopyTexSubImage1D 帧缓冲区拷贝一个间纹理的

    glCopyTexSubImage2D 帧缓冲区拷贝一个间纹理的glCullFace 定义前面后面是
    gl
    DeleteLists 删除相显示列表
    gl
    DeleteTextures 删除命名的

    glDepthFunc 定义用于度缓冲区对照的数据 glDepthMask 度缓冲区 glDepthRange 定义 z 值从标准的设备坐映射窗口标 glDrawArrays 定义渲染多个图元

    glDrawBuffer 定义个色缓冲区被绘制 glDrawElements 渲染数据中的图元
    gl
    DrawPixels 组像素写帧缓冲区
    glEdgeFlag 定义一个
    glEdgeFlagPointer 定义一个
    glEnable, glDisable OpenGL 的特殊功能 glEnableClientState,glDisableClientState 分别glEvalCoord 解一二维贴

    glEvalMesh1,glEvalMesh2 求解一二维点或线格 glEvalPoint1,glEvalPoint2 生成及解一个格中的单点 glFeedbackBuffer 反馈模式
    glFinish 等
    待直到 OpenGL 执行结束

    glFlush 时间里强制 OpenGL 的执行
    glFogf
    ,glFogi,glFogfv,glFogiv 定义雾参数
    glFrontFace
    定义形的前面和
    glFrustum 当前矩阵乘
    视矩阵
    glGenLists 生成一
    的显示列表
    glGenTextures 生成
    理名glGetBooleanv,glGetDoublev,glGetFloatv,glGetIntegerv 回值或所选参数glGetClipPlane 回特定面的系数

    glGetColorTableEXT 从当前板得到颜色表数据 glGetColorTableParameterfvEXT,glGetColorTableParameterivEXT 从颜色表中 得到参数
    glGetError
    回错误消息
    glGetLightfv,glGetLightiv 参数glGetMapdv,glGetMapfv,glGetMapiv 回求值程序参数 glGetMaterialfv,glGetMaterialiv 材质参数 glGetPixelMapfv,glGetpixelMapuiv,glGetpixelMapusv 回特定像素图 glGetPointerv 数据数
    glGetPolygonStipple 形的
    glGetString 描述当前 OpenGl 接的
    glGetTexEnvfv 回纹环境参数 glGetTexGendv,glGetTexGenfv,glGetTexGeniv 回纹标生成参数 glGetTexImage 一个理图glGetTexLevelParameterfv,glGetTexLevelParameteriv 回特定理参数的 细节级

    glGetTexParameterfv,glGetTexParameteriv 回纹理参数glHint 定义实现特殊线索
    glIndex 建当前的色索引
    glIndexMask 索引缓冲区里GlIndexPointer 定义一个颜色索引

    glInitName 初始化名
    glInterleavedArrays 同
    时定义许几个一个大的数组集合里glIsEnabled 定义能是
    glIsList
    显示列表的存在
    glIsTexture 一个名对应一个
    glLightf
    ,glLighti,glLightfv,glLightiv 设置光参数 glLightModelf,glLightModeli,glLightModelfv,glLightModeliv 设置光线模型参数 glLineStipple 设定线点绘图
    glLineWidth 设栅线
    glListBase 为 glcallList 设显示列表的基
    glLoadIdentity 用等矩阵换当前矩阵
    glLoadMatrixd
    ,glLoadMatrif 用一个矩阵换当前矩阵
    glLoadName
    一个名字调入名
    glLogicOp 为色
    索引渲染定义一个逻辑像素操作
    glMap1d
    ,glMap1f 定义一个一维求值程序
    glMap
    2d,glMap2f 定义一个二维求值程序 glMapGrid1d,glMapGrid1f,glMapgrid2d,glMapGrid2f 定义一个一维或二维网
    glMaterialf
    ,glMateriali,glMateriafv,glMaterialiv 为光照模型定义材质参数 glMatrixMode 定义一个矩阵是当前矩阵
    glMultMatrixd
    ,glMultMatrixf 用当前矩阵矩阵相乘
    glNewList
    ,glEndList 创建或替换一个显示列表
    glNormal 设
    当前点法向
    glNormalPointer 设一个法向
    glOrtho 用垂直矩阵当前矩阵相乘
    glPassThrough
    在反馈缓冲区号 glPixelMapfv,glPixelMapuiv,glPixelMapusv 设定像素换图 glPixelStoref,glpixelStorei 设定像素存储模式
    glPixelTransferf
    ,glPixelTransferi 设定像素存储模式
    glPixel
    Zoom 设定像素缩放因数
    glPointSi
    ze 设栅点直径
    glPolygonMode 选一个多形的光模式
    glPolygonOffset 设
    OpenGL 用于计算度值的比例和
    glPolygonStipple 设
    填充
    glPrioritizeTextures 设定纹
    glPushAttrib,glPopAttrib 属性堆栈的入和出操作 glPushClientAttrib,glPopClientAttrib 客户性堆存储客户状态值 glPushmatrix,glPopMatrix 矩阵栈的入和出操作 glPushName,glPopName 名栈的入和出操作

    glRasterPos 定义像素操作的光栅位
    glreadBuffer 为
    像素一个缓冲区
    glReadPixels 从帧缓冲区读取数据 glRectd,glRectf,glRecti,glRects,glRectdv,glRectfv,glRectiv,glRectsv 绘制一个三

    glRenderMode 定义模式
    glRotated
    ,glRotatef 转矩阵当前矩阵相乘
    glScaled
    ,glScalef 的比例矩阵当前矩阵相乘
    glScissor
    定义
    glSelectBuffer 为选模式一个缓冲区
    glShadeModel 选
    glStencilFunc 为模
    测试设置功能和参照
    glStencilMask 写单
    glStencilOp 设置激活模式测试
    glTexCoord 设置当前
    glTexCoordPointer
    定义一个标数glTexEnvf,glTexEnvi,glTexEnvfv,glTexEnviv 设定纹环境参数 glTexGend,glTexgenf,glTexGendv,glTexGenfv,glTexGeniv 标的生成 glTexImage1D 定义一个一理图
    glTexImage2D 定义一个二维理图 glTexParameterf,glTexParameteri,glTexParameterfv,glTexParameteriv 设置理参数
    glTexSubImage1
    D 定义一个存在的一维纹理图的一部分,但不能定义新的理 glTexSubImage2D 定义一个存在二维纹理图的一部分,但不能定义新的理 glTranslated,glTranslatef 变换矩阵当前矩阵相乘
    glVertex
    定义一个
    glVertexPointer 设一个数据数
    glViewport 设置视窗[OpenGL 应用函数库]
    gluBeginCurve,gluEndCurve 定义不一的有理的 NURBS 曲线 gluBeginPolygon,gluEndPolygon 定义一个非形 gluBeginSurface,gluEndSurface 定义一个 NURBS 曲线 gluBeginTrim,gluEndTrim 定义一个 NURBS 整理
    gluBuild1Dmipmaps 建重映射
    gluBuild2Dmipmaps 建立二维重映射
    gluCylinder 绘制一个圆柱
    gluDeleteNurbsRenderer 删除一个 NURBS 对
    gluDeleQuadric 删除一个二次曲面对
    gluDeleteTess 删除一个镶嵌
    gluDisk 绘制一个
    gluErrorString 根据 OpenGL GLU 错误错误字gluGetNutbsProperty 得到一个 NURBS 属
    gluGetString 得到一个描述 GLU 本号或支持 GLU 扩展用的gluGetTessProperty 得到一个镶嵌
    gluLoadSamplingMatrices 载 NUMRBS 例选矩阵

    gluLookAt 设一个变换视
    gluNewNurbsRenderer 创建一个 NURBS 对
    gluNewQuadric 建一个二次曲面对
    gluNewTess 建一个镶嵌
    gluNextContour 为其他轮廓的开
    gluNurbsCallback 为 NURBS 对一个回调 gluNnrbsCurve 设一个 NuRBS 曲线的形gluNurbsProperty 设一个 NURBS 属
    gluNurbsSurface 定义一个 NURBS 表面的形
    gluOrtho2D 定义一个二位正投影矩阵
    gluPartial
    Disk 绘制一个
    gluPerspective 设置一个视投影矩阵
    gluPic
    kMatrix 定义一个拾取区间
    gluProject 象坐映射为窗口
    gluPwlCurve
    描述一个分线NURBS 修剪曲线 gluQuadricCallback 二次曲面对象定义一个回调 gluQuadricDrawStyle. 为二次曲面设定合适的绘制风格 gluQuadricNormals 定义二次曲面所用的法向类 gluQuadricOrientation 定义二次曲部方gluQuadricTexture 定义否带二次其图 gluScaleImage 变换为尺寸
    gluSphere 绘制一个球体 gluTessBeginContour,gluTessEndContour 一个边界描述 gluTessBeginPolygon,gluTessEndPolygon 一个多描述 gluTessCallback 镶嵌象定义一个回调
    gluTessNormal 为一个多行形定义法向
    gluTessProperty 设置镶嵌的属
    gluTessVertex 定义在一个多
    gluUnProject 窗口映射为对象坐标 

  • 相关阅读:
    cnpm与npm指定有什么区别?
    Node.js与VUE安装及环境配置之Windows篇
    kafka和rabbitmq对比
    .NET笔记题库(一)
    API网关的用处
    C#问答题与附解收集(三)
    Error Code: 1175
    有时间测试dism
    sublime 3103liense
    weblogic 安装和部署项目(原创)
  • 原文地址:https://www.cnblogs.com/monnRedShine/p/3118839.html
Copyright © 2020-2023  润新知