glGetActiveUniformBlock
將由GL_UNIFORM_BLOCK_BINDING
返回什麼,如果指定的統一塊沒有綁定到任何綁定索引? http://www.opengl.org/sdk/docs/man4/xhtml/glGetActiveUniformBlock.xml說:GL_UNIFORM_BLOCK_BINDING當塊沒有被綁定到索引時
如果以前沒有指定統一塊,則返回零。
這是否意味着零將被返回爲未綁定塊?如果是,那麼這是否意味着在程序鏈接之後所有的unifrom塊默認綁定到零指數?同樣,如果是的話,那麼我怎樣才能知道指定的塊是否被綁定到零或者它從未綁定到任何索引?
當然我知道設置了什麼,但是我在代碼的不同部分請求了'GL_UNIFORM_BLOCK_BINDING'。因此這種請求的特殊錯誤狀態可能有助於檢測錯誤的調用並使測試更容易一些。 – Sergey
@Sergey:這暗示了代碼中的一些混淆。就個人而言,我會建議爲這類東西建立一個簡單的約定。一種塊總是使用索引0(例如,在所有渲染着色器之間共享的投影矩陣)。索引1涉及其他內容(比如模型到視圖的轉換)。索引2可能是照明參數去的地方。等等。或者換一種說法,設置一些事情,這樣你就不用問我了。我看到它的方式,幾乎在任何時候你使用'glGet *',你可能做錯了什麼。 –