經過大量的閱讀中,我能夠理解在OpenGL ES 2.0加載紋理所需的步驟,但一些問題仍沒有回答:紋理計劃 - 的OpenGL ES 2.0的Android
什麼是下面的代碼實際上是在做什麼?
glUniform1i(sampler2DLocation, 0);
如果我從我的代碼中刪除此行,則沒有任何更改。有些書形容爲「告訴質地均勻採樣告訴它使用紋理着色器從紋理單元0讀」
這行之後調用:
glActiveTexture(GL_TEXTURE0);
但在規定khronos.org默認的活動質地GL_TEXTURE0,所以我想行「glActiveTexture(GL_TEXTURE0);」代碼只是被寫成一種良好的習慣?
最後一件事,當我打電話:
glBindTexture(GL_TEXTURE_2D, genTextures[0]);
我說,影響「GL_TEXTURE_2D」未來的呼叫會影響存儲在genTextures [0]紋理單元,由於綁定。但是「GL_TEXTURE_2D」和活動紋理單元之間有任何關係?我的意思是,在03個「組件」之間有一條內在的鏈條?
genTextures [0] < ---> GL_TEXTURE_2D < --->活動紋理單元
謝謝