我想使用頂點數組來繪製一個相當大的網格,其中包含大量的頂點。紋理已經從這些決定,這是很容易在即時模式下繪製的線沿線:在OpenGL中結合頂點數組和紋理
glBegin(GL_TRIANGLES) {
for (int faceIdx = 0; faceIdx < nFaces; ++faceIdx)
glVertex3fv(&vertexArray[vIdx]);
glTexCoord2fv(&texCoord[vIdx++]);
glVertex3fv(&vertexArray[vIdx]);
glTexCoord2fv(&texCoord[vIdx++]);
glVertex3fv(&vertexArray[vIdx]);
glTexCoord2fv(&texCoord[vIdx++]);
}
}
glEnd();
但是爲了可讀性,速度和我想用頂點數組(以期剩下的移動到維也納組織)。有沒有辦法多次將單個頂點放入數組中?
據我瞭解,目前有必要指定網格的每個頂點的次數,因爲它出現在網格的一個面上,因爲每個頂點都標識爲多個紋理座標(紋理是從實時圖像中捕獲的,網格近似的對象的世界圖像),即我的頂點/ tex座標數組讀取就好像我在即時模式下填充它。
是否有任何方式使用頂點數組,同時指定紋理座標,而不使用冗餘(我指的是重複的)頂點?
幾天前我問了一個(遠程)類似的問題:http://stackoverflow.com/questions/7232915/fewer-colors-than-vertices –
我在上面的代碼中看不到您的問題。頂點位置和紋理座標可以共享索引,但是您正在使用每個頂點前進索引。順便說一句,我認爲你得到的調用順序搞砸了:在所有其他屬性設置完成後調用glVertex。在glBegin中... glEnd塊最後一個OpenGL命令應該是glVertex – datenwolf