• 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

  • 相关阅读:
    watch 一些实际用法(vue)
    如何动态渲染多个echart图表小结(vue)
    webstorm 合并代码冲突后如何唤起代码合并弹窗方案
    jQuery Mobile
    响应式布局
    Angularjs
    项目经理PPT演讲意见
    创业者自己摸索总结的12条建议
    关于网站建设
    调研方案如何炼成?
  • 原文地址:https://www.cnblogs.com/wangshide/p/2476647.html
Copyright © 2020-2023  润新知