OpenGL - 在多个位置绘制VBO

时间:2012-11-09 22:29:33

标签: java opengl render lwjgl vbo

所以,在过去的几天里,我开始学习OpenGL 3D编程的一些经验。我正在使用LWJGL for Java。我用fps-movement创建了一个3d相机类。我还用VBO创建了一个立方体。我可以毫无问题地渲染它。

现在,我如何在另一个位置绘制相同的VBO?现在我的立方体打开(0,0,0),然后转到(5,5,5)。如果我想在(10,10,10)到(15,15,15)绘制同一个立方体怎么办?

谢谢!

1 个答案:

答案 0 :(得分:0)

将多维数据集的位置向量作为uniform vec3变量传递给顶点着色器。在那里,将它添加到每个顶点的位置。

如果要绘制数百个,可以使用实例来节省一些性能。为顶点位置设置一个每顶点属性,为每个实例的平移设置一个每实例属性(通过glVertexAttribDivisor = 1)。有关详细信息,请参阅this wiki entry