В настоящее время я использую аппаратную тесселяцию (DX12 / HLSL) для увеличения числа вершин четырехугольника. Вершинный шейдер получает одну вершину, представляющую большой квад, и тесселлятор должен превратить этот квад в несколько меньших квадратов.
В доменном шейдере я просто использую SV_DOMAINLOCATION
, чтобы сместить элемент управления положение точек:
float2 position;
position.x = controlPoint.x + (size.x * domain.x);
position.y = controlPoint.y + (size.y * domain.y);
Проблема в том, что я не могу найти способ изменить шаблон треугольников, который получается из этого.
![1](https://i.stack.imgur.com/L5emH.png)
Как показано на рисунке выше, результат, который я сейчас получаю, представлен (A), а результат, который я пытаюсь получить, представлен (B).
Итак, мой вопрос:
Есть ли способ, которым я могу повлиять на структуру треугольников треугольников, сгенерированных из тесселлятора, и если да, то как это можно сделать?
Примечание Я понимаю, что могу сделать это в геометрическом шейдере, но стараюсь избежать этого решения.