为 OpenGL 中的几何着色器提供 4 个顶点

Supply 4 vertices to geometry shader in OpenGL

我目前有一些 VAO 和一个索引列表。这个想法是在几何着色器中处理 4 个元素的组。选择组的方法是如果我有列表 (1,2,3,4,5,6,7,8,...) 那么组将是 ((1,2,3,4),(5,6,7,8),...).

经过几个小时的编码后,我意识到几何着色器不接受 4 个顶点基元。我想知道是否有办法解决它。也许选择一个 "provoking vertex" 并将其他 3 个附加到它作为顶点着色器阶段的添加属性(不过我怀疑这是可能的)。

几何着色器 do 接受具有 4 个顶点的图元作为输入:GL_LINES_ADJACENCY

这种原始模式可能适用于每段都需要两个相邻段的线,但它不限于任何特定用例 - 它只提供 4 个顶点作为输入,并且可以这样使用(它还可以用于使用几何着色器模拟已弃用的 GL_QUADS 基本模式)。