0
GLuint index = 0;
glBindAttribLocation(mprogram, index, name);
例如,'0'索引是gl_position,但其他索引如1和2呢?GLSL 1.2:glBindAttribLocation中使用的不同索引的默認屬性是什麼
@Nicolas的問題是,當我設置的指標爲零,我注意到調用glVertexAttrib(指數...)將修改頂點位置,而不是我賦予它的屬性...
但我認爲這是要指定的,通用屬性0確實與內置頂點位置(至少在舊的非棄用天)的別名。那麼,至少*橙皮書*說明了這一點,我相信這一點。 – 2012-04-27 20:21:22
@ChristianRau:在渲染時(在兼容性規則下),您可能會被混淆爲需要使用屬性0或'gl_Vertex'。它們都起到「激發」glBegin/glEnd下的頂點的作用,所以你必須在其中一箇中有東西,並且你不能在同一個渲染調用中使用它們。但如果這就是它所說的話,那麼橙皮書是錯誤的。從OpenGL 3.3兼容性規範來看:「不可能用常規屬性替代通用屬性。」 'gl_Vertex'和屬性0沒有例外。 – 2012-04-27 20:26:39
看着它。 2.1規範說(在第2.7章中):*「設置通用頂點屬性零指定一個頂點;四個頂點座標取自屬性零的值,Vertex2,Vertex3或Vertex4命令完全等效於相應的VertexAttrib命令的索引值爲0設置任何其他通用頂點屬性都會更新屬性的當前值頂點屬性零沒有當前值「*要*」完全等價「*,是否必須發送值到相同的屬性通道? – 2012-04-27 20:26:52