GLES2.0中文API-glCreateProgram
名稱
glCreateProgram- 建立一個program(建議不要翻譯成“程式”,以免引起與APP的混淆)物件
C規範
GLuint glCreateProgram(void);
描述
glCreateProgram建立一個空program並返回一個可以被引用的非零值(program ID)。 program物件是可以附加著色器物件的物件。 這提供了一種機制來指定將連結以建立program的著色器物件。 它還提供了一種檢查將用於建立program的著色器的相容性的方法(例如,檢查頂點著色器和片元著色器之間的相容性)。 當不再需要作為program物件的一部分時,著色器物件就可以被分離了。
通過呼叫glCompileShader成功編譯著色器物件,並且通過呼叫glAttachShader成功地將著色器物件附加到program 物件,並且通過呼叫glLinkProgram成功的連結program 物件之後,可以在program 物件中建立一個或多個可執行檔案。
當呼叫glUseProgram時,這些可執行檔案成為當前狀態的一部分。 可以通過呼叫glDeleteProgram刪除程式物件。 當program 物件不再是任何上下文的當前呈現狀態的一部分時,將刪除與program 物件關聯的記憶體。
注意
與紋理物件一樣,只要上下文的伺服器端共享相同的地址空間,程式物件的名稱空間就可以在一組上下文中共享。 如果名稱空間跨上下文共享,則也會共享任何附加物件和與這些附加物件關聯的資料。
當從不同的執行執行緒訪問物件時,應用程式負責跨API呼叫提供同步。
錯誤
如果建立program 物件時發生錯誤,則此函式返回0。
相關Gets
glGet 引數GL_CURRENT_PROGRAM
glGetActiveAttrib 引數:有效的program物件和啟用狀態的屬性變數的控制代碼。
glGetActiveUniform 引數:有效的program物件和啟用狀態的統一變數的控制代碼。
glGetAttachedShaders 引數:有效的program物件
glGetProgramiv 引數:有效的program物件和要查詢的引數符號
glGetProgramInfoLog 引數:有效的program物件
glGetUniform 引數:有效的program物件和一個統一變數地址
glGetUniformLocation 引數:有效的program物件和統一變數的名稱(在shader中的變數字串)。
glIsProgram
另見
glAttachShader,glBindAttribLocation,glCreateShader,glDeleteProgram,glDetachShader,glLinkProgram,glUniform,glUseProgram,glValidateProgram
版權
https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glCreateProgram.xml
Copyright © 1991-2006 Silicon Graphics, Inc.本文件的許可是根據SGI Free Software B License.詳見http://oss.sgi.com/projects/FreeB/.