部分OpenGL库函数

比较详细的部分OpenGL库函数

附部分gl库

opengl函数
gl 库:
1.glClear(GLbitfield mask);
功能;用预先设置的值清除缓冲区。
参数说明;mask指定 被刷新的缓冲区,可以是GL_COLOR_BUFFER_BIT. GL_DEPTH_BUFFER_BIT ,GL_ACCUM_BUFFER_BIT, GL_STENCIL_BUFFER_BIT
GL_COLOR_BUFFER_BIT.表示颜色缓冲区
GL_DEPTH_BUFFER_BIT ,表示深度缓冲区
GL_ACCUM_BUFFER_BIT,表示累积缓冲区
GL_STENCIL_BUFFER_BIT表示模板缓冲区
2.glClearColor(GLelamof red,GLelamof green,Glelamof blue, Glelampf alpha);
功能;指定颜色缓冲区的清除值
参数说明; 初始值0,取值范围[0,1]
3.glClearDepth();
功能;指定深度缓冲区的清除值
参数说明; 初始值0,取值范围[0,1]
4.glClearIndex();
功能;指定颜色索引缓冲区的清除值
参数说明; 初始值0,取值范围[功能;指定颜色缓冲区的清除值
参数说明; 初始值0,取值范围[0,1]0,1]
5.glClearAccum();
功能;用于设置累积缓冲区的清除值
参数说明; 初始值0,取值范围[0,1]
6.glClearStencil();
功能;设置模板缓冲区的清除值
参数说明; 初始值0,取值范围[0,1]
7.glColor3{b,d,f,s,i,ub,ui,us}();
功能;设置当前的绘图颜色
参数说明; 取值范围[0.0,1.1]
8.glColor4();
功能;设置当前的绘图颜色
参数说明; 取值范围[0.0,1.1]
9.glFinish(void);
功能;在有限时间内强制执行opengl命令
消隐
在三维空间中,一些物体遮挡另一个物体是很自然的事,而且这种遮挡关系随视点的不同而不同,清除一个物体被其他物体挡住的部分 的操作称为消隐;
10.3.glClearDepth(GLelampd depth);
功能;指定深度缓冲区的清除值
参数说明;depth指定清除缓冲区时用的深度值。初始值1,也就是刷新深度buffer后,深度buffer为窗口中每一个像素点设置的深度值。
进行消隐时启用深度测试,11.glEnable(GL.GL_DEPTH_TEST);
12.glDepthFunc(GLenum func);
功能;指定用于深度缓冲比较值。
参数说明;func指定深度比较函数,GL_NEVER,GL_LESS,GL_EQUAL,GL_LEQUAL,GL_GREATER,GL_NOTE_QUAL,GL_GEQUAL,GL_ALWAYS,缺省值GL_LESS,
GL_NEVER,不通过(输入的深度值不取代参考值)
GL_LESS,如果输入的深度值小于参考值,则通过
GL_EQUAL,如果输入的深度值等于参考值,则通过
GL_LEQUAL,如果输入的深度值小于或等于参考值,则通过
GL_GREATER,如果输入的深度值大于参考值,则通过
GL_NOTE_QUAL,如果输入的深度值不等于参考值,则通过
GL_GEQUAL,如果输入的深度值大于或等于参考值,则通过
GL_ALWAYS,总是通过(输入的深度值取代参考值)
构造图形
13.glBegin(GLenum mode)
参数说明;mode
GL_POINT 单个点
GL_LINES线
GL_LINE_STRIP 折线
GL_LINE_LOOP 闭合线
GL_TRIANGLES 多个三角形
GL_TRIANGLES 相连的三角形
GL_TRIANGLE_FAN 三角形扇
GL_QUADS 多个四边形
GL_QUADS_STRIP 相连的四边形
GL_POLYGON 凸多边形

glVertex 设置定点坐标
glColor 设置当前颜色
glIndex 设置当前调色板索引
glNormal 设置当前法线向量
glEvalCoord 生成一维或二维坐标
glCallList,glCallLists 执行显示列表
glTexCoord 设置纹理坐标
glEdgeFlag 标志边缘是否为边界
glMaterial 设置材质属性

14.glEnd();
15. glPointSize(GLfloat size)
功能;指定光栅化的点的直径
初始值;1;
启用反走样glEnable(GL_POINT_SMOOTH);
关闭glDisable(GL_POINT_SMOOTH);
16.glLineWidth(GLfloat width)
功能;指定光栅化线的宽度
初始值为1;
启用反走样glEnable(GL_LINE_SMOOTH);/
关闭glDisable(GL_LINE_SMOOTH);
20.glLineStipple(GLint factor,GLshort pattern);
功能;指定线的点画绘制模板
参数说明;factor 指定点画绘制模板中每个二进制位的重复次数 范围[1,256] 默认1;pattern 一个16位整数
21. glRect()
功能;绘制一个矩形
22. glPolygonMode(GLenum face,GLenum mode);
功能;指定多边形正面或反面的绘图模式
参数说明;face GL_FRONT正面,GL_BACK反面,GL_FRONT_AND_BACK正反面
mode 绘图模式 GL_POINT点 ,GL_LINE线段, GL_FILL填充
23.glFrontFace(GLenum mode)
功能;
指定多边形的正面;
参数说明;GL_CCW相当于投影到窗口坐标系的多边形的有序顶点,按逆时针方向出现的为多边型的正面。
,GL_CW,指定所绘制的多边形的顶点按顺时针方向的面是多边型的正面
缺省值GL_CCW
24.glCullFace(Glenum mode);
功能;指定被拣选的多边形的面。
参数说明;mode GL_FRONT GL_BACK GL_FRONT_AND_BACK ,却省值是GL_BACK.
开启拣选操作glEnable(GL_CULL_FACE);/
关闭glDisable(GL_CULL_FACE);
25.glPolygonStipple();
功能;设置多边型的点画绘制方法
开启多边型的点画绘图模式启glEnable(GL_POLYGON_STIPPLE)
关闭glDisable(GL_POLYGON_STIP_PLE)
26.glEdgeFlag(boolean);
功能;指定某边是被当作边界还是当作非边界

1、void glEnable(GL_LINE_STIPPLE); 是启动虚线模式,使用glDisable(GL_LINE_STIPPLE) 该模式,在以后它的应用是经常性的,至于可以用哪些模式,通过http://www.google.cn可以搜索到很多的。

2、void glLineStipple(GLint factor, GLushort pattern);该函数设置当前点的划线方式。factor表示连续画线的次数,范围为1~255,pattern是由0和1组成的16进制数,当位值为1时绘制直线,为0时不绘制直线,例如:0000111100001111的16进制为0x0F0F,表示绘制的是一条短线段,即我们说的破折线。

3、void glLineWidth(GLfloat width);表示划线宽度的函数。

原帖链接:http://hi.baidu.com/limeng_hoho/blog/item/b3acfbf587804520bd31096e.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先感谢各位的下载,这个文档是我自己整理的,由于函数太多,没办法一一详细的添加用法的中文翻译,还望大家见谅,里面写明了是中文分类。 如哪位朋友有中文的用法介绍可以提供给我,让你我一起完善这个中文的翻译工作! 有些朋友说给我骗了,你要知道整理这个文档我花了大量时间。已经非常的不容易了,我找了好多CHM文档都没有一个是我自己想要的。非常痛苦弄出来的!希望大家多多支持!! 中文分类 OpenGL 库函数汇总 ================================= 目前OpenGL的函数主要包含在3个库中 1.GL 函数库 2.GLU 函数库 3.GLUT 函数库 1.GL 库函数 =================================== 颜色编辑 ------------------- glShadeModel 选择平面明暗模式或光滑明暗模式 void glShadeModel(GLenum mode) 参数:mode 指定表示明暗模式的符号值,可选 GL_FLAT 和 GL_SMOOTH ,缺省值为 GL_SMOOTH glColor 设置当前颜色 这是一个家族性质的函数集合,并没有glColor()这个函数。其包含的函数如下: void glColor3b(GLbyte red , GLbyte green , GLbyte blue) void glColor3d(GLdouble red , GLdouble green , GLdouble blue) void glColor3f(GLfloat red , GLfloat green , GLfloat blue) void glColor3i(GLint red , GLint green , GLint blue) void glColor3s(GLshort red , GLshort green , GLshort blue) void glColor3ub(GLubyte red , GLubyte green , GLubyte blue) void glColor3ui(GLuint red , GLuint green , GLuint blue) void glColor3us(GLushort red , GLushort green , GLushort blue) void glColor4b(GLbyte red , GLbyte green , GLbyte blue , GLbyte alpha) void glColor4d(GLdouble red , GLdouble green , GLdouble blue , GLdouble alpha) void glColor4f(GLfloat red , GLfloat green , GLfloat blue , GLfloat alpha) void glColor4i(GLint red , GLint green , GLint blue , GLint alpha) void glColor4s(GLshort red , GLshort green , GLshort blue , GLshort alpha) void glColor4ub(GLubyte red , GLubyte green , GLubyte blue , GLubyte alpha) void glColor4ui(GLuint red , GLuint green , GLuint blue , GLuint alpha) void glColor4us(GLushort red , GLushort green , GLushort blue , GLbyte alpha) 参数:red , green , blue 指定当前新的红、绿、蓝的颜色值 alpha 透明度,指明当前新的 alpha 颜色值 ,只有在 glColor4 函数中带4个变量时才会指定此参数。 此外还包括: void glColor3bv(const GLbyte * v) void glColor3dv(const GLdoble * v) void glColor3fv(const GLfloat * v) void glColor3iv(const GLint * v) void glColor3sv(const GLshort * v) void glColor3ubv(const GLubyte * v) void glColor3uiv(const GLuint * v) void glColor3usv(const GLushort * v) void glColor4bv(const GLbyte * v) void glColor4dv(const GLdoble * v) void glColor4fv(const GLfloat * v) void glColor4iv(const GLint * v) void glColor4sv(const GLshort * v) void glColor4ubv(const GLubyte * v) void glColor4uiv(const GLuint * v) void glColor4usv(const GLushort * v) 参数:v 指定一个值向包含红、绿、蓝和 alpha 值的数组指针。 glColorPointer 定义颜色数组 void glColorPointer(GLint size , GLenum type , GLsizei stride , GLsizei count , const GLvoid * pointer) 参数:size 每个颜色的分量数目 ,该值必须是3或4 type 在颜色数组中每个颜色分量的数据类型,可选的数据类型为: GL_BYTE GL_UNSIGNED_BYTE GL_SHORT GL_UNSIGNED_SHORT GL_INT GL_UNSIGNED_INT GL_FLOAT GL_UNSIGNED_FLOAT stride 相邻两个颜色的字节偏移量。当stride为零时 ,颜色值在数组中是一个接一个排列的。 count 静态颜色的数目 ,从第一个颜色开始计数。 pointer 指向颜色数组中第一个颜色元素中第一个分量的指针。 glIndex 设置当前颜色索引 void glIndexd(GLdouble c) void glIndexf(GLfloat c) void glIndexi(GLint c) void glIndexs(GLshort c) 参数: c 新的当前颜色索引值 void glIndexdv(GLdouble * c) void glIndexfv(GLfloat * c) void glIndexiv(GLint * c) void glIndexsv(GLshort * c) 参数: c 指向一个由单个元素组成的数组指针 ,该数组中包含新的当前颜色索引值。 glIndexPointer 定义颜色索引数组 void glIndexPointer(GLenum type ,GLsizei stride ,GLsizei count ,const GLvoid *pointer) 参数:type 数组中每个颜色索引的数据类型 ,可以选择的符号常数为:GL_SHORT GL_INT GL_FLOAT GL_DOUBLE stride 相邻的两个颜色索引的字节偏移量。当stride为零时 ,颜色索引值在数组中是一个接一个排列的。 count 颜色索引的数目,从第一个颜色开始计数 ,它们是静态的。 pointer 指向颜色数组中第一个颜色索引的指针。 glColorTableEXT 为目标调色板纹理指定调色板的格式和大小 void glColorTableEXT(GLenum target ,GLenum internalFormat ,GLsizei width ,GLenum format ,GLenum type ,const GLvoid *data) 参数:target 需要更改调色板的目标纹理 ,必须为 TEXTURE_1D TEXTURE_2D PROXY_TEXTURE_1D PROXY_TEXTURE_2D intenalFormat (等待编辑) width 调色板的大小 ,对于某些 n ,必须满足 2n>=1 . format (等待编辑) type data的数据类型 ,可选以下符号常量: GL_UNSIGNED_BYTE GL_BYTE GL_UNSIGNED_SHORT GL_SHORT GL_UNSIGNED_INT GL_INT GL_UNSIGNED_FLOAT GL_FLOAT data 指向调色板纹理数据的指针。对于调色板项目 ,数据作为一维纹理调色板项目中的单个像素进行处理。 glColorSubTableEXT 指定需要替代的目标纹理调色板的一部分 void glColorSubTableEXT(GLenum target ,GLsizei start ,GLsizei count ,GLenum format ,GLenum type ,const GLvoid * data) 参数:target 需要更改调色板的目标纹理 ,必须为 TEXTURE_1D TEXTURE_2D PROXY_TEXTURE_1D PROXY_TEXTURE_2D start 被改变的调色板的起始调色板索引项目。 count 被改变的调色板中从 start 开始的调色板索引项目的数目。count参数确定了被改变的调色板中调色板索引项目的范围。 format (等待编辑) type data的数据类型 ,可选以下符号常量: GL_UNSIGNED_BYTE GL_BYTE GL_UNSIGNED_SHORT GL_SHORT GL_UNSIGNED_INT GL_INT GL_UNSIGNED_FLOAT GL_FLOAT data 指向调色板纹理数据的指针。对于调色板项目 ,数据作为一维纹理调色板项目中的单个像素进行处理。 绘制几何图形 ----------------------------- glVertex glVertexPointer glArrayElement glBegin , glEnd glEdgeFlag , glEdgeFlagv glPointSize glLineWidth glLineStipple glPolygonMode glFrontFace glPolygonStipple glDrawElements glRect 坐标转换 ----------------------------- glTranslate glRotate glScale glViewPoint glFrustum glOrtho glClipPlane 堆栈操作 ------------------------------ glLoadMatrix glMultMatrix glMatrixMode glPushMatrix , glPopMatrix glPushAttrib , glPopAttrib glPushName , glPopName glInitName glLoadName 1.GL 函数库(续) =============================== 显示列表 ----------------------------- glNewList , glEndList glCallList glCallLists glGenLists glDeleteLists glIsList 使用光照和材质 ----------------------------- glNormal glNormalPointer glLight glLightModel glMaterial glColorMaterial 像素操作 ------------------------------ glRasterPos glBitmap glReadPixels glDrawPixels glCopyPixels glCopyTexImage1D glCopyTexImage2D glCopyTexSubImage1D glCopyTexSubImage2D glPixelZoom glPixelStore glPixelTransfer glPixelMap 纹理映射 ----------------------------- glTexImage1D glTexImage2D glTexParameter glTexSubImage1D glTexSubImage2D glTexEnv glTexCoord glTexGen glTexCoordPointer glDeleteTextures 特效操作 ---------------------------- glBlendFunc glHint glFog 1.GL 库函数(续2) ============================= 帧缓存操作 ----------------------------- glClear glClearAccum glClearColor glClearDepth glClearIndex glClearStencil glDrawBuffer glIndexMask glColorMask glDepthMask glStencilMask glAlphaFunc glStencilFunc glStencilOp glDepthFunc glDepthRange glLogicOp glAccum 曲线或曲面绘制 ------------------------------ glEvalCoord glMap1 glMap2 glMapGrid glEvalMesh glEvalPoint 查询函数 ----------------------------- glGet glGetClipPlane glGetColorTableEXT glGetColorTableParameterfvEXT , glGetColorTableParameterivEXT glGetError glGetLight glGetMap glGetMaterial glGetPixelMap glGetPointerv glGetPolygonStipple glGetString glGetTexEnv glGetTexImage glGetTexLevelParameter glGetTexParameter 2.GLU 库函数 ============================ 绘制 NURBS 曲线和曲面 ------------------------------ gluNewNurbsRenderer gluNurbsProperty gluNurbsCallback gluBeginCurve , gluEndCurve gluNurbsCurve gluDeleteNurbsRenderer gluBeginSurface , gluEndSurface gluNurbsSurface gluBeginTrim , gluEndTrim gluPwlCurve gluBeginPolygon , gluEndPolygon gluPickMatrix 绘制二次几何物体 --------------------------------- gluNewQuadric gluQuadricDrawStyle gluQuadricNormals gluQuadricOrientation gluCylinder gluSphere gluDisk gluPartialDisk gluDeleteQuadric gluQuadricTexture gluQuadricCallback 网格化 ------------------------------ gluNewTess gluTessVertex gluTessCallback gluTessBeginPolygon , gluTessEndPolygon gluTessBeginContour , gluTessBeginContour gluTessProperty gluNextContour gluTessNormal gluDeleteTess 坐标转换 ------------------------------ gluOrtho2D gluPerspective gluLookAt gluProject gluUnProject 多重映射 ------------------------------ gluBuild1DMipmaps gluBuild2DMipmaps gluScaleImage 查询函数 ----------------------------- gluErrorString gluGetNurbsProperty gluGetString gluGetTessProperty 3.GLUT 库函数 ============================= 初始化和启动事件处理 ------------------------- glutInit glutInitWindowPosition glutInitWindowSize glutInitDisplayMode glutMainLoop 窗口管理 ------------------------- glutCreateWindow glutCreateSubWindow glutHideWindow glutShowWindow glutSetWindowTitle glutPostRedisplay glutSwapBuffers glutFullScreen glutPositionWindow glutReshapeWindow glutSetWindow glutGetWindow glutPopWindow glutPushWindow glutDestroyWindow glutIconifyWindow glutSetCursor 重叠层管理 ------------------------- glutEstablishOverlay glutUseLayer glutRemoveOverlay glutPostOverlayRedisplay glutShowOverlay glutHideOverlay 菜单管理 ------------------------- glutCreateMenu glutAddMenuEntry glutAddSubMenu glutAttachMenu glutGetMenu glutSetMenu glutDestroyMenu glutChangeToMenuEntry glutChangeToSubMenu glutRemoveMenuItem glutDetachMenu 3.GLUT 库函数(续) =============================== 注册回调函数 ------------------------------- glutDisplayFunc glutReshapeFunc glutMouseFunc glutMotionFunc glutIdleFunc glutVisibilityFunc glutKeyboardFunc glutSpecialFunc glutOverlayDisplayFunc glutPassiveMotionFunc glutEntryFunc glutSpaceballMotionFunc glutSpaceballRotateFunc glutSpaceballButtonFunc glutButtonBoxFunc glutDialsFunc glutTableMotionFunc glutTableButtonFunc glutMenuStatusFunc glutTimerFunc 颜色索引映射表管理 ------------------------------- glutSetColor glutGetColor glutCopyColormap 状态检索 ------------------------------- glutGet glutLayerGet glutDeviceGet glutGetModifiers glutExtensionSupported 字体绘制 ------------------------------- glutBitmapCharacter glutBitmapWidth glutStrokeCharacter glutStrokeWidth 几何图形绘制 ------------------------------- glutSolidSphere , glutWireSphere glutSolidCube , glutWireCube glutSolidCone , glutWireCone glutSolidTorus , glutWireTorus glutSolidDodecahedron , glutWireDodecahedron glutSolidOctahedron , glutWireOctahedron glutSolidTetrahedron , glutWireTetrahedron glutSolieIcosahedron , glutWireIcosahedron glutSolidTeapot , glutWireTeapot

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值