Уникальные идентификаторы на треугольниках, генерируемые тесселяционным шейдером?

Когда вы создаете тесселяционный шейдер в HLSL, есть ли способ отследить эти новые треугольники с помощью идентификаторов? Я попытался использовать семантику, такую ​​как SV_PrimitiveID в геометрическом шейдере вместе с SV_InstanceID в доменном шейдере, но они, похоже, выводят данные исходной сетки. Я надеюсь, что смогу хранить данные в вычислительном буфере. Любые предложения помогут!

Спасибо

1 ответ

Вы можете взглянуть на стадию вывода потока ( https://msdn.microsoft.com/en-us/library/windows/desktop/bb205121(v=vs.85).aspx), чтобы собрать сгенерированные треугольники в буфер из геометрия шейдерной сцены.

Посылая координаты тесселяции вместе с вершинами в геометрический шейдер, становится возможным однозначно идентифицировать каждый треугольник с помощью трех барицентрических тройных координат.

Другие вопросы по тегам