OpenGL TES,输出中是否有邻接信息?



我想知道曲面细分评估着色器(TES)是否可以以某种方式输出邻接信息,然后可供几何着色器(GS)使用。

让我们以 TCS/TES 组合为例,使用layout (isolines, equal_spacing, ccw) in渲染一些等值曲线。随后在GS中使用layout (lines) in工作,尽管layout (lines_adjacency) in没有。我知道在没有TCS/TES的情况下必须明确提供邻接信息(例如,使用更新的索引列表和使用GL_LINES_ADJACENCYglDrawElements),但是有没有办法让TES生成此信息?阅读本节时,似乎无法自动生成此信息 - 希望我忽略了一些东西。

我想到的应用是绘制粗平滑曲线,即首先生成大量顶点并使用细分将它们与线段连接起来,然后用三角形条替换这些线段,如此处所述。

之前已经提出了一个非常相似的问题,到目前为止还没有决定性的答案。

曲面细分基元生成器仅根据抽象图块类型和point_mode生成生成点、线或三角形基元序列。它从不生成条带/扇形/列表,当然也不会生成邻接原语。

通过让 TES 生成额外的每个顶点数据,GS 将使用这些数据来执行您想要的邻接信息的任何操作,从而更好地处理您想要的邻接信息。

相关内容

最新更新