假设我正在渲染3d GL_TRIANGLE。该对象需要3个顶点才能定义:A,B,C。我将这些数据放入缓冲区并通过glVertexAttribPointer将其绑定到着色器。
现在我想将正常传递给着色器。对于每个三角形,应该有1个法向量,但如果我尝试通过glVertexAttribPointer传递它,我需要为点A,B,C定义相同的法线3次。 是否可以在glVertexAttribPointer中每隔3个顶点传入1个顶点以避免这种情况?
或者为所有顶点传递它是一个好主意吗?
答案 0 :(得分:3)
现在我想将正常传递给着色器。对于每个三角形,应该有1个法向量
不,有3个法线。每个顶点一个。
是否可以在glVertexAttribPointer中每3个其他顶点传入1个顶点以避免这种情况?
不,因为顶点属性属于一起而且无法分开。
或者为所有顶点传递它是一个好主意吗?
当然。让每个人的生活更轻松。