OpenGL的函数(GL)
目前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
转载于:https://www.cnblogs.com/wangshide/archive/2012/04/30/2476647.html
OpenGL的函数(GL)相关推荐
- OpenGL画矩形函数:glRectf,四个参数分别表示了位于对角线(左下到右上)上的两个点的横纵坐标
OpenGL画矩形函数:glRectf glRectf:画一个矩形,四个参数分别表示了位于对角线(左下到右上)上的两个点的横纵坐标(并且以窗口的中心点为原点,相当于以它为原点建立了一个二维坐标系) 例 ...
- opengl库中gl glu glut glaux的区别
GL GLU GLUT的关系 OpenGL中的gl库是核心库,glu是实用库,glut是实用工具库. gl是核心,glu是对gl的部分封装,glut是OpenGL的跨平台工具库. gl中包含了最基本的 ...
- OpenGL GLFX开放GL效果库
Open GLFX开放GL效果库 OpenGL GLFX开放GL效果库简介 源代码剖析 主要源代码 OpenGL GLFX开放GL效果库简介 本课与前一课略有不同.我们将讨论 OpenGL 效果库 G ...
- OpenGL中的gl,glu,glut的区别
OpenGL中gl,glu,glut的区别 OpenGL中的gl库是核心库,glu是实用库,glut是实用工具库, gl是核心,glu是对gl的部分封装,glut是OpenGL的跨平台工具库,gl中包 ...
- OpenGL库中gl、glu、glut、glaux的关系
GL GLU GLUT的关系 OpenGL中的gl库是核心库,glu是实用库,glut是实用工具库. gl是核心,glu是对gl的部分封装,glut是OpenGL的跨平台工具库. gl中包含了最基本的 ...
- OpenGL gluLookat()函数的实现
OpenGL gluLookat()函数的实现 函数形式: gluLookAt(GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble center ...
- Android OpenGL Cannot create GL program: 0 GL error: 1282
Android OpenGL create GL program: 0 & GL error: 1282 快速解决 1. 使用GLSurfaceView的话 请在继承类中合适的地方(一般是构造 ...
- iOS中 openGL常用函数记录(部分)
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 注:这行代码是用于清楚屏幕.GL_DEPTH_BUFFER_BIT 清除深度缓冲 glVerte ...
- OpenGL LookAt函数理解
前言:记录OpenGL学习过程中的一些知识点,以个人理解为主. LookAt函数将顶点的世界空间坐标转换为观察空间坐标,实际上是以相机为原点重新定义的三维空间. glm::mat4 LookAt(gl ...
最新文章
- 【插件】jQuery.iviewer----图片浏览(滚动放大缩小问题解决)
- 云服务器怎么拷贝和删除文件,怎样给云服务器拷贝文件
- Windows Batch [精华]
- html5 元素重叠,javascript – 检查两个或多个DOM元素是否重叠
- spring social_Spring Social入门
- 为什么要用!DOCTYPE声明
- 澳洲留学转专业计算机科学,澳洲留学热门专业计算机优势
- 呵呵,幸亏当初选了这个BLOG
- ccsa安学网小程序_适合微信小程序安装的SSL证书有哪些
- iperf工具源码下载、编译、以及测试网络带宽
- C语言克莱姆法解方程组解析,解线性方程组用克莱姆法则
- Android开发学习之摇一摇功能的简单实现
- 欢迎使用CSDN-markdown编辑器萨达所大所大所大所
- 4k纸是几厘米乘几厘米_4K纸是多少尺寸
- 加州大学戴维斯分校 计算机科学,2020年加州大学戴维斯分校排名TFE Times美国最佳计算机科学硕士专业排名第43...
- vue+js练手前端项目->游戏平台(贪吃蛇、俄罗斯方块、飞机大战、飞翔的小鸟、2048、五子棋)
- 微信小程序和PWA对比分析
- 游戏素材制作篇(一)——使用PR将视频或者动图转化为图片
- 靴子落地!Mobileye正式启动4D成像雷达量产进程
- CRM是什么意思?CRM管理软件选型必知的3大“要点”