1. 程式人生 > >Opengl4.5 中文手冊—C

Opengl4.5 中文手冊—C

only double flag nal pipeline out adb 存儲 bin

索引

A B C D E F G

H I J K L M N

O P Q R S T

U V W X Y Z

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