| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4025 人关注过本帖
标题:[分享] OpenGL 库函数汇总(CHM文档)共享给大家
只看楼主 加入收藏
chenzifeng
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-2-3
收藏
 问题点数:0 回复次数:10 
[分享] OpenGL 库函数汇总(CHM文档)共享给大家
OpenGL+库函数汇总(中文分类).rar (85.91 KB)
搜索更多相关主题的帖子: CHM OpenGL 文档 函数 汇总 
2010-05-09 13:24
chenzifeng
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-2-3
收藏
得分:0 
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
2010-05-09 13:25
chenzifeng
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-2-3
收藏
得分:0 
我制作成CHM文档,让大家下载!
https://bbs.bccn.net/viewthread.php?tid=305942&pid=1769229&page=1#pid1769229
http://www.
http://chenzifeng.download.

支持我的朋友下载哦

文档分类:starrysky作者所有!
制作:陈子锋 QQ:82799232
2010-05-09 13:27
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
楼主,辛苦了。

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2010-05-09 15:30
if_exist
Rank: 2
等 级:论坛游民
帖 子:86
专家分:41
注 册:2009-4-20
收藏
得分:0 
楼主现在还有在弄吗,很支持啊!

关于函数的详细说明,可以先获取英文的列表,然后慢慢翻译一下吧
http://www.
来自 opengl 官方的查询文档:
http://www.

来自 sourceforge 关于opengl在python和C 中的使用介绍:(英文)
http://pyopengl.


I. Reference

    I. GL

        glAccum - operate on the accumulation buffer
        glActiveTextureARB - select active texture unit
        glAlphaFunc - specify the alpha test function
        glAreTexturesResident - determine if textures are loaded in texture memory
        glArrayElement - render a vertex using the specified vertex array element
         :
         :

等你相应。

[ 本帖最后由 if_exist 于 2010-10-4 10:39 编辑 ]

open-gl
2010-10-04 10:24
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
楼主列出的资料是OPENGL 1.1的,早过时了…

各位不想过时的话请到SF上搜 glew

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2010-10-04 15:38
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
现在的OPENGL 3.2是超越了direct3d 11的存在
支持OPENGL, 支持NVIDIA CG

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2010-10-04 15:42
dzwang
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-4-11
收藏
得分:0 
谢谢分享啊。。
2011-04-11 16:00
mybluedesky
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-5-14
收藏
得分:0 
keyil
2011-05-26 17:10
tco1992
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-6-14
收藏
得分:0 
感谢楼主提供分享
感谢楼主提供分享
2011-06-29 10:01
快速回复:[分享] OpenGL 库函数汇总(CHM文档)共享给大家
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018900 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved