假设我正在渲染一个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