【问题标题】:OpenGL Vertex Buffers: Can I go without an index buffer?OpenGL 顶点缓冲区:我可以不用索引缓冲区吗?
【发布时间】:2012-01-28 05:13:10
【问题描述】:

我得到了使用 VBO 和 IBO 的代码:当我解析我的几何图形时,我为三角形构建顶点和索引数组,然后用 GL_TRIANGLES 调用 glDrawElements

我读到了能够在索引缓冲区here 中发出原始重启信号的消息,大约在页面的一半。这很好,但我想知道是否可以完全放弃索引缓冲区,并通过发送特定的顶点值(比如第一个属性零值是无穷大)来发出原始重启信号?

然后我只需要在使用GL_TRIANGLE_FAN 绘制之前将一个缓冲区发送到 GPU,例如绘制一组凸多边形。

【问题讨论】:

    标签: opengl


    【解决方案1】:

    如果您不想使用索引缓冲区,那么您可以使用 glDrawArrays。它将仅从顶点缓冲区渲染图元。将其与实例化相结合,您将能够在没有索引缓冲区的情况下绘制多个三角形扇形。

    但出于性能原因,如果您的网格三角形共享顶点,您应该使用索引缓冲区。

    【讨论】:

    • 另一个人直接回答了我的问题,但您的回答提供了适当的替代方法。我希望我能同时接受。
    【解决方案2】:

    正如该页面上明确指出的那样:

    在技术上将此与非索引渲染一起使用是合法的。你不应该这样做,因为它不会给你一个有用的结果。

    基元重启用于索引渲染。无法根据顶点属性的值重新启动图元。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-17
      • 2011-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多