Opengl4.5 中文手冊—C
索引
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