使用曲面细分对带有孔的四边形进行三角测量

时间:2013-05-18 23:06:15

标签: opengl graphics shader geometry-shader tesselation

是否可以使用tesselation着色器对带有孔的四边形进行三角测量?例如,

enter image description here enter image description here enter image description here

  1. 想象一下,我有一个Quad。
  2. 然后我想在四边形的中心打个洞。
  3. 需要更多的顶点来制作这个洞。
  4. 问题:

    • 我可以使用 Tessellation 着色器执行此操作吗?如果是这样,怎么样?
    • 我应该使用几何着色器吗?

1 个答案:

答案 0 :(得分:2)

这不是曲面细分着色器的典型应用,而且也不是完成的。基本上,你有一个粗糙的3D模型,它传递给你的显卡。图形卡实际上实现了曲面细分算法,通过细分图元创建更精细的三维模型。

您必须提供两个着色器:Tessellation控件和评估着色器(以OpenGL术语表示)

在曲面细分控制着色器中,您可以“参数化”曲面细分算法(内部和外部曲面细分因子等)。然后应用曲面细分算法。此后,曲面细分评估着色器用于例如插入精细顶点的顶点属性。

你想做什么让我想起了CSG(http://en.wikipedia.org/wiki/Constructive_solid_geometry)。曲面细分着色器确实创建了新数据,但您可能只是算法参数化。您无法“实施”曲面细分算法。广告几何着色器:您可以发出(数量有限)新原语,但它也不适用于您的问题。