6

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

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

  1. 想象一下我有一个四边形。
  2. 然后我想在四边形的中心打一个洞。
  3. 需要有更多的顶点才能形成那个洞。

还有问题:

  • 我可以使用Tessellation着色器来做到这一点吗?如果是这样,怎么做?
  • 我应该改用几何着色器吗?
4

1 回答 1

2

这不是曲面细分着色器的典型应用,也不是所做的。基本上,你有一个粗略的 3d 模型,它被传递到你的显卡。显卡实际上实现了曲面细分算法,通过曲面细分基元创建更精细的 3d 模型。

您必须提供两个着色器:镶嵌控制和评估着色器(在 OpenGL 术语中)

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

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

于 2013-05-21T21:28:58.540 回答