【问题标题】:OpenGL - Draw VBO at multiple positionsOpenGL - 在多个位置绘制 VBO
【发布时间】:2012-10-30 07:09:20
【问题描述】:

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

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

谢谢!

【问题讨论】:

    标签: java opengl render lwjgl vbo


    【解决方案1】:

    将立方体的位置向量作为uniform vec3 变量传递给顶点着色器。在那里,将它添加到每个顶点的位置。

    如果您想绘制数百个,您可以使用实例化来节省一些性能。为顶点位置设置一个每个顶点属性,为每个实例的平移设置一个每个实例属性(通过glVertexAttribDivisor = 1)。详情请见this wiki entry

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-21
      • 2023-04-07
      • 2019-07-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多