名稱
glGetProgramiv- 從program對象傳回一個參數的值
C規範
void glGetProgramiv(GLuint program,GLenum pname,GLint *params);
參數
program
指定要查詢的program對象。
pname
指定program對象參數。 接受的符号名稱為GL_DELETE_STATUS,GL_LINK_STATUS,GL_VALIDATE_STATUS,GL_INFO_LOG_LENGTH,GL_ATTACHED_SHADERS,GL_ACTIVE_ATTRIBUTES,GL_ACTIVE_UNIFORMS,GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,GL_ACTIVE_UNIFORM_MAX_LENGTH。
params
傳回請求的對象參數的值。
描述
glGetProgramiv以params形式傳回指定的program對象的參數值。 定義了以下參數:
GL_DELETE_STATUS
如果program目前标記為删除,則params傳回GL_TRUE,否則傳回GL_FALSE。
GL_LINK_STATUS
如果program的最後一個連結操作成功,則params傳回GL_TRUE,否則傳回GL_FALSE。
GL_VALIDATE_STATUS
params傳回GL_TRUE,program的最後一次驗證操作成功了也傳回GL_TRUE,否則傳回GL_FALSE。
GL_INFO_LOG_LENGTH
params傳回program資訊日志中的字元數,包括空終止字元(即,存儲資訊日志所需的字元緩沖區的大小)。 如果程式沒有資訊日志,則傳回值0。
GL_ATTACHED_SHADERS
params傳回附加到program的着色器對象的數量。
GL_ACTIVE_ATTRIBUTES
params傳回program的激活狀态的屬性變量數。
GL_ACTIVE_ATTRIBUTE_MAX_LENGTH
params傳回program的最長激活狀态的屬性名稱的長度,包括空終止字元(即,存儲最長屬性名稱所需的字元緩沖區的大小)。 如果不存在活動屬性,則傳回0。
GL_ACTIVE_UNIFORMS
params傳回program的激活狀态的統一變量的數量。
GL_ACTIVE_UNIFORM_MAX_LENGTH
params傳回program的最長激活狀态的統一變量名稱的長度,包括空終止字元(即,存儲最長統一變量名稱所需的字元緩沖區的大小)。 如果不存在活動的統一變量,則傳回0。
注意
如果生成錯誤,則不會更改params的内容。
錯誤
GL_INVALID_ENUM
:pname不是一個可接受的值
GL_INVALID_VALUE
:program不是OpenGL生成的值
GL_INVALID_OPERATION: program沒有關聯program對象
相關Gets
glGetActiveAttrib 參數:program
glGetActiveUniform 參數:program
glGetAttachedShaders 參數:program
glGetProgramInfoLog 參數:program
glIsProgram
另見
glAttachShader, glCreateProgram, glDeleteProgram, glGetShaderiv, glLinkProgram, glValidateProgram
版權
https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glGetProgramiv.xml
https://blog.csdn.net/flycatdeng
Copyright © 1991-2006 Silicon Graphics, Inc.本文檔的許可是根據SGI Free Software B License.詳見http://oss.sgi.com/projects/FreeB/.
Android,OpenGL ES,圖形學