OpenGL的函数(GL)

2011-10-11_111518

目前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

显示列表 
----------------------------- 
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

帧缓存操作 
----------------------------- 
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

posted @ 2012-04-30 01:44  Let it be!  阅读(3726)  评论(0编辑  收藏  举报