Answers:
实际上,几何着色器(GS)的“任务”是原始评估。
几何着色器可以进行镶嵌处理,但受到以下限制:a)输出元素数量的进程内上限,以及b)在单个着色器中执行...当然,着色器实例化可以缓解第二个问题,但是总体而言,几何着色器是在原始评估和/或值插值方面,它们比镶嵌细分时更有效。
相比之下,镶嵌着色器(TS)专门用于执行几何致密化,因此它们表现良好,对不断扩大的算法阵列具有鲁棒性(双关语意味深远),并且不受输出边界缓冲区的限制。
DanielRákos在GS / TS演进方面有一篇不错的文章:硬件细分的历史
何时应用每种情况都是“使用正确的工具完成工作”的一种情况,方法如下:在没有镶嵌处理程序的情况下构建粗略的草稿管道,以便在VS / GS / FS中正确评估基元。分别调整基于视图或场景的细分的范围,然后将TS插入GS之前以使原始图元致密,然后将其传递给您已经设计的GS。如果您想尝试其他TS,然后建立替代方案并将其交换到管道中,甚至可以使用实例化GS根据基元的属性动态选择正确的TS!