背景:我正在开发一个应用程序,它基本上绘制了一个巨大的节点和边的 3D 图。节点被绘制为实例立方体,而边缘则使用几何着色器绘制GL_LINE
并扩展为由三角形条带组成的 3D 体积“线”。目前,每次重绘边缘时,我都会执行此扩展。但是,由于我的图形是完全静态的(节点不能移动,因此边也不能移动),我认为我只需要将GL_LINE
定义扩展为三角形条带一次,将扩展的顶点捕获到缓冲区中(使用转换反馈),并且然后从那一点开始,使用那些捕获的顶点和glMutliDrawArrays
原始类型的GL_TRIANGLE_STRIP
.
问题:我正在绘制的所有这些体积线都包含 10 个顶点。但是,glMultiDrawArrays
需要一组起始索引和计数大小,它们基本上描述了每个基元的起始点和计数(以元素为单位)。由于我的原语的大小都没有变化,我会制作一个看似不必要的起始索引和计数列表。OpenGL是否提供了任何功能,可以让我简单地指定一个步幅(以元素为单位),在该步幅处会发生原始重启?