假設我正在渲染一個3d GL_TRIANGLE。該對象需要3個頂點來定義它:A,B,C。我將這些數據放入緩衝區,並通過glVertexAttribPointer將其綁定到着色器。OpenGL glVertexAttribPointer正常
現在我想在正常情況下傳遞給着色器。對於每個三角形,應該有1個法線向量,但如果我嘗試通過glVertexAttribPointer傳入,我需要爲點A,B,C定義相同的法線3次。 是否有可能在glVertexAttribPointer中每3個其他頂點傳入一個頂點以避免這種情況?
或者它是一個好主意,通過它的所有頂點?
這並不容易。如果不同屬性的數組不匹配,則需要爲每個屬性指定單獨的索引數組以將屬性分配給頂點。這不支持。我在這裏回答了類似的問題,詳細闡述了這一點:http://stackoverflow.com/questions/25349620/use-one-gl-element-array-buffer-to-reference-each-attribute-from-0/25352461#25352461 。 – 2014-09-04 04:30:41