OpenGL函数库详解

来源:互联网 发布:血滴子 淘宝 编辑:程序博客网 时间:2024/04/29 17:59

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,取值范围[01]

3.glClearDepth();

功能;指定深度缓冲区的清除值

参数说明;初始值0,取值范围[01]

4.glClearIndex();

功能;指定颜色索引缓冲区的清除值

参数说明;初始值0,取值范围[功能;指定颜色缓冲区的清除值

参数说明;初始值0,取值范围[01]01]

5.glClearAccum();

功能;用于设置累积缓冲区的清除值

参数说明;初始值0,取值范围[01]

6.glClearStencil();

功能;设置模板缓冲区的清除值

参数说明;初始值0,取值范围[01]

7.glColor3{b,d,f,s,i,ub,ui,us}();

功能;设置当前的绘图颜色

参数说明;取值范围[0.01.1]

8.glColor4();

功能;设置当前的绘图颜色

参数说明;取值范围[0.01.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);

关闭glEnable(GL_POINT_SMOOTH);

16.glLineWidth(GLfloat width)

功能;指定光栅化线的宽度

初始值为1

启用反走样glEnable(GL_LINE_SMOOTH);\

关闭glDisable(GL_LINE_SMOOTH);

20.glLineStipple(GLint factor,GLshort pattern);

功能;指定线的点画绘制模板

参数说明;factor 指定点画绘制模板中每个二进制位的重复次数范围[1256]默认1pattern一个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);

功能;指定某边是被当作边界还是当作非边界

 

曲线的基本理论

 

27.glMap1{f,d}(GLenum target,GLfloat u1,float u2,int stride,

 

int order , const double * points);

功能;定一个一维取值器

参数说明;target 指定由求知器所生成的种类,u1,u2指定u

 

的线型映射方式,并把它提供给函数glEvalCoordl().

stride 指定在有points提供的数据结构中,从一个控制点的

 

开始位置倒下一个控制点的开始位置之间跨越的浮点或双

 

精度值的存储单元数目。这里允许将控制点插入任意的数

 

据结构中。他唯一的约束条件是一个特定的控制点必须占

 

据连续的内存存储单元。order制定控制点的数目。points

 

指定一个指向控制点数组的指针。

GL_MAP1_VERTEX_3 4 定点坐标

CL_MAP1_INDEX 颜色索引

GL_MAP1_COLOR_4 颜色分量 R,G,B,A

GL_MAP1_NORMAL法向量

GL_MAP1_TEXTURE_COORD_1 2 3 4纹理坐标

28.glEvalCoord1{f,d}(TYPE u);

功能;求取有效的一维映射值

29.glMapGrid1{f d}(int un, type u1,type u2);

功能;定义一个一维的网格

参数说明;un指定网格范围[u1,u2;

29.glEvalMesh1(Glenum mode ,int il,int i2);

功能;计算点或线的一位网格

参数说明;mode 指定式计算点还是线的一维网格,

取,GL_POINT GL_LINE

样条曲面地绘制

30.glMap2{f,d}(GLenum target,type u1,type u2,int

 

ustride,int uorder,type v1 ,type v2,int vstride,int vorder,const

 

type * points)

功能;定义一个二维求值器;

31..glMapGrid2{f,d}(TYPE nutype u1, type u2,int

 

nv,type v1,type v2);

功能;求ding

32.glMapGrid2{f d}(TYPE nutype u1, type u2,int nv,type

 

v1,type v2);

功能;定义一个二维的网格

参数说明;un指定网格范围[u1,u2;

29.glEvalMesh1(Glenum mode ,int il,int i2,int j1,int j2);

功能;计算点或线的二维网格

参数说明;mode 指定式计算点还是线的一维网格,

取,GL_POINT GL_LINE

样条曲面地绘制

 

显示列表

30.glNewList(int list ,GLenum mode);

功能;建立或替代一个显示列表

参数说明;list 指定一个显示列表的名称,mode指定编译

 

模式,GL_COMPILE只被编译

 

GL_COMPILE_AND_EXECUTE

31.glEndList()

功能;结束一个显示列表

32.glCallList(int list)

功能;执行一个显示列表

33.glListBase(int base)

功能;

为函数glCallLists设置显示列表的基值

34.glCallLists(sizei n,GLenum type,const void * lists);

功能;执行一组显示列表

35.glGenLists(size range);

功能;建立一组连续的空显示列表

36.glIsList(int list);

功能;确定一个名称是否对应一个显示列表

37.glDeleteLists(int list ,size range);

功能;删除一组连续的显示列表

坐标变换

 

原创粉丝点击