当我通过 LWJGL 学习 OpenGL 时,我一直在浏览 LWJGL wiki 上的教程。具体来说,这个.
我的问题是,尽管我已经复制了该代码,调用调用,函数调用函数,两个顶点属性指针需要切换(所以代码如下所示:
GL20.glVertexAttribPointer(1, 4, GL11.GL_FLOAT, false, Vertex.sizeInBytes,
// Put the colors in attribute list 1
GL20.glVertexAttribPointer(0, 4, GL11.GL_FLOAT, false, Vertex.sizeInBytes,
Vertex.elementBytes * 4);
将其切换为位置索引为 1,颜色索引为 0,正如预期的那样,可以进行漂亮的渐变渲染。但是,如果我在切换索引的情况下运行它(我认为它应该工作的方式,我会得到这个:
显然,在研究了这个渲染一段时间后,位置和颜色数据已经切换,因此,切换索引号完全解决了问题,但我很确定我已经正确地遵循了一切。代码有什么问题?为什么会有这么一个混蛋?