附部分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);表示划线宽度的函数。