1. 程式人生 > >GLES2.0中文API-glCreateProgram

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物件

glGetAttribLocation

​​​​​​​ 引數:有效的program物件和屬性變數的名稱(在shader中的變數字串)。

glGetProgramiv 引數:有效的program物件和要查詢的引數符號

glGetProgramInfoLog 引數:有效的program物件

glGetUniform​​​​​​​ 引數:有效的program物件和一個統一變數地址

glGetUniformLocation​​​​​​​ 引數:有效的program物件和統一變數的名稱(在shader中的變數字串)。

glIsProgram​​​​​​​

另見

glAttachShaderglBindAttribLocation​​​​​​​,glCreateShaderglDeleteProgramglDetachShaderglLinkProgramglUniform​​​​​​​,glUseProgramglValidateProgram

版權

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/.

Android,OpenGL ES,圖形學