所以,在过去的几天里,我开始学习OpenGL 3D编程的一些经验。我正在使用LWJGL for Java。我用fps-movement创建了一个3d相机类。我还用VBO创建了一个立方体。我可以毫无问题地渲染它。
现在,我如何在另一个位置绘制相同的VBO?现在我的立方体打开(0,0,0),然后转到(5,5,5)。如果我想在(10,10,10)到(15,15,15)绘制同一个立方体怎么办?
谢谢!
答案 0 :(得分:0)
将多维数据集的位置向量作为uniform vec3
变量传递给顶点着色器。在那里,将它添加到每个顶点的位置。
如果要绘制数百个,可以使用实例来节省一些性能。为顶点位置设置一个每顶点属性,为每个实例的平移设置一个每实例属性(通过glVertexAttribDivisor
= 1)。有关详细信息,请参阅this wiki entry。