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

GLES2.0中文API-glGetUniformLocation

名稱

glGetUniformLocation- 返回統一變數的位置

C規範

GLint glGetUniformLocation(GLuint program,const GLchar *name);

引數

program

指定要查詢的程式物件。

name

要查詢其位置的統一變數的名稱。

描述

glGetUniformLocation返回一個整數,表示程式物件中特定統一變數的位置。 name必須是不包含空格的空終止字串。 name必須是程式中的活動統一變數名,它不能是結構,也不能是結構陣列或向量或矩陣的子元件。 如果name與程式中的活動統一變數不對應,或者name

以保留字首“gl_”開頭,則此函式返回-1。

可以通過為結構中的每個欄位呼叫glGetUniformLocation來查詢作為結構或結構陣列的統一變數。 陣列元素運算子“[]”和結構欄位運算子“.” 可以在name中使用,以便選擇陣列中的元素或結構中的欄位。 使用這些運算子的結果不允許是另一個結構,結構陣列或向量或矩陣的子元件。 除非name的最後一部分表示統一變數陣列,否則可以使用陣列的名稱或使用“[0]”附加的名稱來檢索陣列的第一個元素的位置。

在程式物件成功連結之前,分配給統一變數的實際位置是不知道的。發生連結後,命令glGetUniformLocation可用於獲取統一變數的位置。 然後可以將此位置值傳遞給

glUniform以設定統一變數的值或glGetUniform以查詢統一變數的當前值。成功連結程式物件後,統一變數的索引值保持不變,直到發生下一個連結命令。 如果連結成功,則只能在連結後查詢統一變數位置和值。

錯誤

GL_INVALID_VALUE program不是OpenGL生成的值。

GL_INVALID_OPERATION program不是程式物件。

GL_INVALID_OPERATION program沒有成功連結。

相關Gets

glGetActiveUniform 引數program和活動的統一變數索引。

glGetProgramiv 引數programGL_ACTIVE_UNIFORMS 或 GL_ACTIVE_UNIFORM_MAX_LENGTH

glGetUniform 引數program和統一變數的名稱

glIsProgram

另見

glLinkProgramglUniform

版權

https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glGetUniformLocation.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,圖形學