Я хотел бы отметить, что этот вопрос представляет собой абсолютное недопонимание того, как работает тесселяция.
Количество вершин в патче не имеет значения для того, «как моя сетка преобразуется шейдером тесселяции».
Тесселяция основана на абстрактном патче. То есть, если ваш TES использует треугольники в качестве своего абстрактного типа патча , то он будет генерировать треугольники. Это так же верно, если количество вершин на патч 20 или 2.
Задача кода в TES состоит в том, чтобы выяснить, как применить тесселяцию абстрактного патча к данным вершины патча для получения фактических тесселированных выходных данных вершины.
Итак, если вы тестируете треугольник, ваш TES получает 3-элементную барицентрическую координату (gl_TessCoord
), которая определяет местоположение в абстрактном треугольнике, для которого создаются данные вершин. Работа генератора примитивов тесселяции состоит в том, чтобы решить, какие вершины генерировать и как собрать их в примитивы (соединение по треугольному краю).
Таким образом, в основном количество вершин патча не имеет отношения к графу связности ребер. Единственное, что для этого имеет значение, - это абстрактный тип патча и применяемые к нему уровни тесселяции.