代码之家  ›  专栏  ›  技术社区  ›  wadesworld

管理OpenGL vbo和颜色

  •  0
  • wadesworld  · 技术社区  · 15 年前

    我正在创建一个使用vbo绘图的应用程序。该应用程序绘制多种颜色的线段。因此,我要为每种颜色创建一个顶点和索引数组,并按颜色将片段排序到适当的数组中。

    但是,我希望用户能够设置任何线段的颜色。因此,我潜在的颜色数量实际上是无限的(显然不是真的,但也可能是)。我猜生成2000个vbo来容纳1000个顶点和索引数组来支持1000种颜色是不好的。

    显然,每次绘制新颜色的顶点数组时,都可以生成有限数量的vbo并复制新数据,但这似乎效率极低。

    对处理这种情况有什么建议吗?

    1 回复  |  直到 15 年前
        1
  •  1
  •   Bahbar    15 年前

    好吧,考虑到你没有说什么是在vbo确切的(位置?颜色?)或者你是怎么画出来的(固定功能?程序?)帮助他人并不容易。

    无论如何,这里有一些你想要记住的事实:

    • 您不必创建许多vbo。vbo(就像ibo)是用于存储的,它可以存储任意数量的数据集。这得益于各种绘图函数的“FirstIndex/FirstVertex”参数以及 gl*Pointer
    • 不必为每个顶点指定颜色。如果将其存储在vbo中,请将其取出,并使用恒定颜色(如何执行此操作取决于绘图方法)。对于程序,请通过统一颜色而不是属性指定颜色)

    在那里,我希望这足够你开始。