假设我要渲染3d GL_TRIANGLE。要定义该对象需要3个顶点:A,B,C。我将此类数据放入缓冲区,然后通过glVertexAttribPointer将其绑定(bind)到着色器。
现在,我想将法线传递给着色器。对于每个三角形,应该有1个法线 vector ,但是如果我尝试通过glVertexAttribPointer将其传递,则需要为点A,B,C定义3次相同的法线。 是否可以在glVertexAttribPointer中每隔3个顶点传递1个顶点来避免这种情况?
还是将其传递给所有顶点是一个好主意?
最佳答案
不,有3个法线。每个顶点一个。
否,因为顶点属性属于一起并且不能分开。
绝对是使每个人的生活更加轻松。