OpenGL TES,可能在输出中有邻接信息吗?

时间:2017-03-22 00:51:58

标签: opengl geometry-shader tessellation

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

让我们以TCS / TES组合为例,使用layout (isolines, equal_spacing, ccw) in渲染一些isocurves。随后在GS中使用layout (lines) in,但layout (lines_adjacency) in没有。我知道在没有TCS / TES的情况下必须明确提供邻接信息(例如使用更新的索引列表和使用glDrawElements的{​​{1}}),但有没有办法让TES生成此信息?阅读this section似乎无法自动生成此信息 - 希望我忽视了一些事情。

我想到的应用是绘制粗光滑曲线,即首先生成大量顶点并使用曲面细分将它们与线段连接,然后用三角形条替换这些线段,如解释here。 / p>

here之前已经提出过一个非常类似的问题,到目前为止还没有确定的答案。

1 个答案:

答案 0 :(得分:0)

曲面细分原语生成器仅根据abstract patch typepoint_mode生成生成点,线或三角形基元的序列。它永远不会生成条带/扇形/列表,当然也不会生成邻接原语。

通过让TES生成额外的每顶点数据可以更好地处理您想要的内容,GS将使用它来执行您想要的邻接信息。