Opengl4.5 中文手册—C

Posted wiki3D

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Opengl4.5 中文手册—C相关的知识,希望对你有一定的参考价值。

索引

      B     C      D     E     F     G  

      I       L     M     N

      P     Q      R     S     T   

U       V     W      

 

C

glCheckFramebufferStatus

3.0+ 查询Framebuffer状态

GLenum target

glCheckNamedFramebufferStatus

GLuint framebuffer,

      GLenum target

glClampColor

3.0+ 设置glReadPixels是否clamp读取的像素数据

GLenum target, GL_CLAMP_READ_COLOR

      GLenum clamp GL_TRUE  GL_FALSE  GL_FIXED_ONLY(仅定点数)

glClear

2.0+ 清除颜色、深度或模板缓冲区

GLbitfield mask:  GL_COLOR_BUFFER_BIT,  GL_DEPTH_BUFFER_BIT

               GL_STENCIL_BUFFER_BIT

清除值由glClearColor, glClearDepth, and glClearStencil分别设置,清除区域受glScissor设置的裁剪范围影响。

glClearBuffer

3.0+ 清除当前绘制帧缓冲区对应颜色、深度或模板缓冲区,与glClear类似

glClearBufferfv

GLenum buffer,       GL_COLOR  GL_DEPTH  GL_STENCIL

      GLint drawbuffer,   buffer为GL_COLOR时为GL_DRAW_BUFFER[n],否则为0

      const GLfloat * value  buffer为GL_COLOR时为rgba四元素指针

 

glClearBufferfi  同时清除深度和模板缓冲区

GLenum buffer,  GL_DEPTH_STENCIL

      GLint drawbuffer,  0

      GLfloat depth, 深度

      GLint stencil 模板

 

glClearNamedFramebufferxx 4.5+

 

glClearBufferData

4.3+ 用数据填充缓冲区

GLenum target,

      GLenum internalformat, buffer数据格式

      GLenum format,              data数据格式: GL_R32F GL_RGBA32F..要求各成员大小相同

      GLenum type,                   data数据单成员数据类型byte short int float

      const void * data

和glBufferSubData类似,区别在于此函数提供format->innerformat转换

 

glClearBufferSubData

4.3+ 与glClearBufferData类似,多了offset和size参数

glClearColor

2.0+ 为glClear设置清除的颜色值,  默认(0, 0, 0 ,0)

GLfloat red,           GLfloat green,      GLfloat blue,         GLfloat alpha

glClearDepth

2.0+ 为glClear设置清除的颜色值,  默认1

GLdouble depth

glClearStencil

2.0+ 为glClear设置清除的模板值,  默认0

GLint s

glClearTexImage

4.4+ 填充纹理数据

GLuint texture,

      GLint level,

      GLenum format,

      GLenum type,

      const void * data  数据指针,0,全填充为0

参考glClearBufferData

glClearTexSubImage

4.4+ 填充纹理子区域数据

多了六个范围参数:   GLint xoffset, GLint yoffset, GLint zoffset,

      GLsizei width, GLsizei height, GLsizei depth,

glClientWaitSync

3.2+ 阻塞客户端,等待信号

GLsync sync,

      GLbitfield flags,  GL_SYNC_FLUSH_COMMANDS_BIT

      GLuint64 timeout 超时值,毫微秒,10亿分之一秒

返回值:

         GL_ALREADY_SIGNALED 调用时信号已发出

         GL_CONDITION_SATISFIED 收到信号后返回

         GL_TIMEOUT_EXPIRED 超时

GL_WAIT_FAILED 异常

glClipControl

4.5+ 设置裁剪坐标映射参数

         GLenum origin, GL_LOWER_LEFT or GL_UPPER_LEFT

      GLenum depth GL_NEGATIVE_ONE_TO_ONE or GL_ZERO_TO_ONE

感觉没用,类似需求考虑利用glDepthRange的功能

glColorMask 2.0

设置颜色成分是否写入,默认写入:GL_TRUE

GLboolean red,

      GLboolean green,

      GLboolean blue,

      GLboolean alpha

glCompileShader

2.0+ 编译shader

GLuint shader

shader编译结果存储在shader对象中,可通过glGetShaderiv查询编译状态,以及

glGetShaderInfoLog查询编译日志信息

glCompressedTexImage2D

2.0+ 利用压缩格式数据填充纹理

GLenum target, GL_TEXTURE_2D, GL_TEXTURE_1D_ARRAY, GL_PROXY_TEXTURE_1D_ARRAY, GL_TEXTURE_CUBE_MAP_POSITIVE_X, or GL_PROXY_TEXTURE_CUBE_MAP

      GLint level,

      GLenum internalformat,  数据的压缩格式

      GLsizei width,

      GLsizei height,

      GLint border,

      GLsizei imageSize, 数据大小

      const GLvoid * data :数据地址,格式为internalformat, 当GL_PIXEL_UNPACK_BUFFER不为0时,从对应的缓冲区读取数据,此时data为数据偏移

 

普通数据可以通过glTexImage2D加载为压缩格式

glCompressedTexSubImage2D

2.0+ 利用压缩格式数据填充纹理部分区域

与glCompressedTexImage2D区别在于加了四个指定子区域的参数:

    GLint xoffset,        GLint yoffset,

      GLsizei width,        GLsizei height

glCopyBufferSubData

3.1+ buffer之间拷贝数据

GLenum readTarget, :GL_ARRAY_BUFFER、GL_ATOMIC_COUNTER_BUFFER。。。

      GLenum writeTarget,

      GLintptr readOffset,

      GLintptr writeOffset,

      GLsizeiptr size

所有类型buffer之间都可以拷贝数据,另外有两个专门用于拷贝的缓冲区类型绑定:GL_COPY_READ_BUFFER and GL_COPY_WRITE_BUFFER

glCopyImageSubData

4.3+ 在两个格式兼容的纹理或者渲染缓冲区之间拷贝数据

GLuint srcName,  依据srcTarget对应对应类型对象ID

      GLenum srcTarget, 类型:GL_RENDERBUFFER,GL_TEXTURE2D…

      GLint srcLevel,

      GLint srcX,

      GLint srcY,

      GLint srcZ,

      GLuint dstName,

      GLenum dstTarget,

      GLint dstLevel,

      GLint dstX,

      GLint dstY,

      GLint dstZ,

      GLsizei srcWidth,

      GLsizei srcHeight,

      GLsizei srcDepth

glCopyTexImage2D 2.0

从帧缓冲区读取数据到纹理

GLenum target, 纹理目标类型

      GLint level,

      GLenum internalformat,

      GLint x,

      GLint y,

      GLsizei width,

      GLsizei height,

      GLint border

源数据由glReadBuffer指定,并使用glBindFrameBuffer绑定GL_READ_FRAMEBUFFER。

从内存或缓冲区读取数据到纹理使用glTexImage2D

glCopyTexSubImage2D

类似glCopyTexImage2D

 

glCopyTextureSubImage2D 4.5+ 根据TextureID直接拷贝

glCreateBuffers

4.5+ 生成bufferid,与glGenBuffers相同

glCreateFramebuffers

4.5+ 生成framebufferid, 与glGenFramebuffers相同

glCreateProgram

2.0+ 创建程序

返回 GLuint

glCreateProgramPipelines

4.5+ 创建程序管线对象

glCreateTextures

4.5+ 同glGenTextures

glCreateTransformFeedbacks

4.5 同glGenTransformFeedbacks

glCreateVertexArrays

4.5 同glGenVertexArrays

glCullFace

2.0+ 设置剔除面,需要使用glEnable(GL_CULL_FACE)启用

GLenum mode  :GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK, 默认GL_BACK

正面反面可通过glFrontFace定义,默认逆时针

 

以上是关于Opengl4.5 中文手册—C的主要内容,如果未能解决你的问题,请参考以下文章

Opengl4.5 中文手册—E

Opengl4.5 中文手册—D

Opengl4.5 中文手册—F

Opengl4.5 中文手册—B

Opengl4.5 中文手册—U

Opengl4.5 中文手册—V