Answers:
镶嵌是一项技术,可让您在图形卡上生成图元(三角形,直线,点等)。具体来说,它使您可以将当前几何图形反复细分为更精细的网格。
这样,您就可以在图形卡上加载相对较粗的网格,动态生成更多的顶点和三角形,然后在屏幕上显示一个看起来更加平滑的网格。
在大多数情况下,该细分会在每个单个帧中重新进行,这可能是启用此选项后帧速率下降的原因。
镶嵌是分多个阶段完成的,它是在顶点着色器之后完成的。
每个阶段的条款因API而异。在DirectX中,它是Hull Shader,Hardware Tessellation和Domain Shader。在OpenGL中,它们称为“镶嵌细分控制着色器”,“镶嵌细分基元生成”和“镶嵌细分评估着色器”。
第一个和最后一个阶段是可编程的,实际的镶嵌是由硬件在固定功能阶段完成的。
在Tesselation Control着色器中,设置细分的类型和数量。
然后,硬件镶嵌器根据“控制着色器”对几何进行划分。
最后,为每个新生成的顶点调用“镶嵌细分评估着色器”。在此着色器中,您可以设置要生成的图元的类型以及顶点的间距以及其他许多功能。就像顶点着色器一样,此着色器也可以用于执行各种基于顶点的计算。确保为每个生成的顶点至少调用一次。
如果要对基元做任何进一步的工作,可以添加几何着色器。