GLES2.0中文API-glAttachShader
名稱
glAttachShader- 將著色器物件附加到program物件
C規範
void glAttachShader(GLuint program,GLuint shader);
引數
program
指定著色器物件將附加到的program物件。
shader
指定要附加的著色器物件。
描述
為了建立一個可執行檔案,必須要有一種方法來指定將被連結在一起的東西的列表。那麼,program物件就提供了這麼一種機制。
要在program物件中連結的shaders必須首先附加到該program物件上。那glAttachShader方法就是用於將指定的shaders附著到指定的program物件上。這就表明shader將被包含在要被執行的program的連結操作中。
不管shader物件是否被附著到program物件上,在shader物件上執行的所有操作都是有效的。
在原始碼載入到著色器物件之前或著色器物件被編譯之前,將shader物件附著到program物件上都是被允許的。
多個同類型(例如都是vertex shader型別,或都是fragment shader型別)的shader物件不能被附著到同一個program物件上。但是,單個shader物件可以被附著到多個program物件上。
如果著色器物件在附加到程式物件時被刪除,它將被標記為刪除,並且直到呼叫glDetachShader才能將其從它所連線的所有程式物件中分離出來,否則刪除將不會發生。
錯誤
GL_INVALID_VALUE:如果program或shader不是由OpenGL所生成的值。
GL_INVALID_OPERATION:如果program引數傳的不是program物件。
GL_INVALID_OPERATION:如果shader引數傳的不是shader物件。
GL_INVALID_OPERATION:如果shader已經被新增到program物件上了,或者已經有一個同類型的shader物件新增到該program物件上的時候。
相關Gets
glGetAttachedShaders可依據一個有效的program物件來獲得其所關聯的shaders。
另見
glCompileShader, glDetachShader, glLinkProgram, glShaderSource, glShaderBinary
版權
https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glAttachShader.xml
Copyright © 1991-2006 Silicon Graphics, Inc.本文件的許可是根據SGI Free Software B License.詳見http://oss.sgi.com/projects/FreeB/.